Skip to content
You are not logged in |Login  
     
Limit search to available items
Record 14 of 21
Previous Record Next Record
Book Cover
book
BookBook
Author Mathias, Matthew, author.

Title Swift programming : the Big Nerd Ranch guide / Matthew Mathias & John Gallagher.

Publication Info. Atlanta, GA : Big Nerd Ranch, [2015]
Indianapolis, IN : Exclusive worldwide distribution of the English edition of this Book by Pearson Technology Group

Copies

Location Call No. Status
 Farmington, Main Library - Adult Department  005.3 MAT    In Transit
Edition First edition.
Description xviii, 413 pages : illustrations ; 26 cm
Series Big Nerd Ranch Guides
Note Includes index.
Summary Swift is a multi-paradigm programming language developed by Apple for use with iOS and OS X (Apple?s operating system that is the foundation for its mobile devices: iPhone, iPad, and iPod touch) and designed to replace Objective C. "Through the authors' carefully constructed explanations and examples, you will develop an understanding of Swift grammar and the elements of effective Swift style. Written for Swift 2.0, the book is also compatible with Swift 2.1. You will also learn how to navigate Xcode 7 and get the most out of Apple's documentation. Throughout the book, the authors share their insights into Swift to ensure that you understand the hows and whys of Swift and can put that understanding to use in different contexts."--Amazon.com description.
Contents I Getting Started 1 -- 1 Getting Started 3 -- Getting Started with Xcode 3 -- Playing in a Playground 6 -- Varying Variables and Printing to the Console 7 -- You Are On Your Way! 9 -- Bronze Challenge 9 -- 2 Types, Constants, and Variables 11 -- Types 11 -- Constants vs. Variables 13 -- String Interpolation 14 -- Bronze Challenge 15 -- II Basics 17 -- 3 Conditionals 19 -- If/else 19 -- Ternary Operator 22 -- Nested ifs 23 -- Else if 24 -- Bronze Challenge 24 -- 4 Numbers 25 -- Integers 25 -- Creating Integer Instances 27 -- Operations on Integers 28 -- Integer division 29 -- Operator shorthand 30 -- Overflow operators 30 -- Converting Between Integer Types 32 -- Floating-Point Numbers 33 -- Bronze Challenge 34 -- 5 Switch 35 -- What Is a Switch? 35 -- Switch It Up 36 -- Ranges 39 -- Value binding 40 -- Where clauses 41 -- Tuples and pattern matching 42 -- Switch vs. if/else 45 -- Bronze Challenge 46 -- 6 Loops 47 -- For-in Loops 47 -- For case 50 -- A Quick Note on Type Inference 51 -- For Loops 51 -- While Loops 52 -- Repeat-while Loops 53 -- Control Transfer Statements, Redux 54 -- Bronze Challenge 56 -- 7 Strings 57 -- Working with Strings 57 -- Unicode 59 -- Unicode scalars 59 -- Canonical equivalence 61 -- Silver Challenge 63 -- 8 Optionals 65 -- Optional Types 65 -- Optional Binding 67 -- Implicitly Unwrapped Optionals 69 -- Optional Chaining 70 -- Modifying an Optional in Place 71 -- Nil Coalescing Operator 71 -- Silver Challenge 72 -- III Collections and Functions 73 -- 9 Arrays 75 -- Creating an Array 75 -- Accessing and Modifying Arrays 77 -- Array Equality 83 -- Immutable Arrays 84 -- Documentation 85 -- Bronze Challenge 86 -- Silver Challenge 86 -- 10 Dictionaries 87 -- Creating a Dictionary 87 -- Populating a Dictionary 88 -- Accessing and Modifying a Dictionary 88 -- Adding and Removing Values 90 -- Looping 92 -- Immutable Dictionaries 93 -- Translating a Dictionary to an Array 93 -- Silver Challenge 94 -- 11 Sets 95 -- What Is a Set? 95 -- Getting a Set 95 -- Working with Sets 97 -- Unions 97 -- Intersects 98 -- Disjoint 99 -- Bronze Challenge 100 -- Silver Challenge 100 -- 12 Functions 101 -- A Basic Function 101 -- Function Parameters 102 -- Parameter names 103 -- Variadic parameters 104 -- Default parameter values 105 -- In-out parameters 106 -- Returning from a Function 107 -- Nested Functions and Scope 108 -- Multiple Returns 108 -- Optional Return Types 110 -- Exiting Early from a Function 111 -- Function Types 111 -- Bronze Challenge 112 -- Silver Challenge 112 -- 13 Closures 113 -- Closure Syntax 113 -- Closure Expression Syntax 115 -- Functions as Return Types 117 -- Functions as Arguments 118 -- Closures Capture Values 121 -- Closures Are Reference Types 122 -- Functional Programming 123 -- Higher-order functions 123 -- Gold Challenge 126 -- IV Enumerations, Structures, and Classes 127 -- 14 Enumerations 129 -- Basic Enumerations 129 -- Raw Value Enumerations 132 -- Methods 135 -- Associated Values 138 -- Recursive Enumerations 141 -- Bronze Challenge 144 -- Silver Challenge 144 -- 15 Structs and Classes 145 -- A New Project 145 -- Structures 150 -- Instance Methods 153 -- Mutating methods 154 -- Classes 155 -- A monster class 155 -- Inheritance 156 -- Method Parameter Names 160 -- What Should I Use? 160 -- Bronze Challenge 161 -- Silver Challenge 161 -- For the More Curious: Type Methods 162 -- For the More Curious: Function Currying 163 -- 16 Properties 169 -- Basic Stored Properties 169 -- Nested Types 170 -- Lazy Stored Properties 171 -- Computed Properties 174 -- A getter and a setter 175 -- Property Observers 176 -- Type Properties 177 -- Access Control 180 -- Controlling getter and setter visibility 182 -- Bronze Challenge 183 -- Silver Challenge 183 -- Gold Challenge 183 -- 17 Initialization 185 -- Initializer Syntax 185 -- Struct Initialization 186 -- Default initializers for structs 186 -- Custom initializers for structs 187 -- Class Initialization 191 -- Default initializers for classes 191 -- Initialization and class inheritance 192 -- Required initializers for classes 199 -- Deinitialization 200 -- Failable Initializers 201 -- A failable Town initializer 201 -- Failable initializers in classes 204 -- Initialization Going Forward 205 -- Silver Challenge 205 -- Gold Challenge 205 -- For the More Curious: Initializer Parameters 206 -- 18 Value vs. Reference Types 207 -- Value Semantics 207 -- Reference Semantics 209 -- Constant Value and Reference Types 212 -- Using Value and Reference Types Together 214 -- Immutable reference types 215 -- Copying 216 -- Identity vs. Equality 218 -- What Should I Use? 219 -- V Advanced Swift 221 -- 19 Protocols 223 -- Formatting a Table of Data 223 -- Protocols 229 -- Protocol Conformance 232 -- Protocol Inheritance 233 -- Protocol Composition 234 -- Mutating Methods 235 -- Silver Challenge 236 -- Gold Challenge 236 -- 20 Error Handling 237 -- Classes of Errors 237 -- Lexing an Input String 238 -- Catching Errors 246 -- Parsing the Token Array 248 -- Handling Errors by Sticking Your Head in the Sand 252 -- Swift Error Handling Philosophy 254 -- Bronze Challenge 256 -- Silver Challenge 256 -- Gold Challenge 256 -- 21 Extensions 257 -- Extending an Existing Type 257 -- Extending Your Own Type 259 -- Use extensions to add protocol conformance 259 -- Adding an initializer with an extension 260 -- Nested types and extensions 261 -- Extensions with functions 263 -- Bronze Challenge 264 -- Bronze Challenge 264 -- Silver Challenge 264 -- 22 Generics 265 -- Generic Data Structures 265 -- Generic Functions and Methods 267 -- Type Constraints 270 -- Associated Type Protocols 271 -- Type Constraint where Clauses 274 -- Bronze Challenge 276 -- Silver Challenge 276 -- Gold Challenge 276 -- For the More Curious: Understanding Optionals 276 -- For the More Curious: Parametric Polymorphism 277 -- 23 Protocol Extensions 279 -- Modeling Exercise 279 -- Extending ExerciseType 281 -- Protocol Extension where Clauses 282 -- Default Implementations with Protocol Extensions 283 -- Naming Things: A Cautionary Tale 286 -- Bronze Challenge 288 -- Gold Challenge 288 -- 24 Memory Management and ARC 289 -- Memory Allocation 289 -- Strong Reference Cycles 290 -- Reference Cycles in Closures 295 -- Bronze Challenge 298 -- Silver Challenge 298 -- For the More Curious: Can I Retrieve the Reference Count of an Instance? 299 -- 25 Equatable and Comparable 301 -- Conforming to Equatable 301 -- Conforming to Comparable 304 -- Comparable's Inheritance 307 -- Bronze Challenge 307 -- Gold Challenge 307 -- Platinum Challenge 308 -- For the More Curious: Custom Operators 308 -- VI Event-Driven Applications 311 -- 26 Your First Cocoa Application 313 -- Getting Started with VocalTextEdit 315 -- Model-View-Controller 317 -- Setting Up the View Controller 318 -- Setting Up Views in Interface Builder 320 -- Adding the Speak and Stop buttons 322 -- Adding the text view 323 -- Auto Layout 326 -- Making Connections 329 -- Setting target-action pairs for VocalTextEdit's buttons 329 -- Connecting the text view outlet 330 -- Making VocalTextEdit... Vocal 331 -- Saving and Loading Documents 334 -- Type casting 337 -- Saving documents 337 -- Loading documents 339 -- MVC cleanup 342 -- Silver Challenge 344 -- Gold Challenge 344 -- 27 Your First iOS Application 345 -- Getting Started with iTahDoodle 346 -- Laying Out the User Interface 348 -- Wiring up your interface 358 -- Modeling a To-Do List 360 -- Setting Up the UITableView 365 -- Saving and Loading TodoList 367 -- Saving TodoList 367 -- Loading TodoList 369 -- Bronze Challenge 370 -- Silver Challenge 370 -- Gold Challenge 370 -- 28 Interoperability 371 -- An Objective-C Project 371 -- Creating a contacts app 374 -- Adding Swift to an Objective-C Project 382 -- Adding contacts 386 -- Adding an Objective-C Class 396 -- Silver Challenge 402 -- Gold Challenge 402 -- 29 Conclusion 403 -- Where to Go from Here? 403 -- Shameless Plugs 403 -- An Invitation 403.
Subject iOS (Electronic resource)
Swift (Computer program language)
Mobile computing -- Programming.
Application software -- Programming.
iOS (Electronic resource) (OCoLC)fst01784820
Swift (Computer program language) (OCoLC)fst01922222
Programmering.
Added Author Gallagher, John, author.
ISBN 9780134398013 (paperback)
0134398017 (paperback)
-->
Add a Review