Swift Optionals and Generics for the Really Impatient
Dave Wood, Matt Henderson
Swift Optionals and Generics for the Really Impatient
Dave Wood, Matt Henderson
- Producent: Addison Wesley Publishing Company
- Rok produkcji: 2014
- ISBN: 9780133960129
- Ilość stron: 176
- Oprawa: Miękka
Niedostępna
Opis: Swift Optionals and Generics for the Really Impatient - Dave Wood, Matt Henderson
Swift for the Really Impatient is the perfect jumpstart to the Swift language for every experienced Objective-C developer. Leading iOS and OS X developers Matt Henderson and Dave Wood help you take full advantage of Swift's powerful innovations, without wasting time on basics you already know. Through expert code examples and crystal-clear explanations, Henderson and Wood reveal how Swift features improve on Objective-C and show how to make the most of them. You'll quickly master "Swift-er" techniques for using objects, classes, optionals, generics, functions, closures, and more. Each chapter includes hands-on exercises designed to reinforce and deepen your skills. You'll learn how to re-implement common Objective-C programming solutions in Swift, improving code clarity, power, and performance on both desktop and mobile devices. And, because you probably won't (or can't) abandon Objective-C anytime soon, you'll discover how to use both languages together, smoothly integrate Swift into existing projects and workflows, and gradually move your current code base into the future. Coverage includes * Using Swift's new patterns and concise, expressive syntax to produce safer, more reliable code* Leveraging the surprising power of Swift's data structures* Utilizing Swift's type system to help prevent errors common in other languages* Using optionals to correctly handle invalid, missing, or unknown values* Implementing generics to reduce duplication, improve power, and simplify maintenance* Interacting with C and Objective-C APIs * Abstracting functionality for reusable code while maintaining type safety* Isolating code in clean, flexible, low-overhead closures* Combining Swift with Objective-C in the same project* Avoiding gotchas when importing Objective-C classes in Swift projects* Nesting types to improve code clarity* Creating shared objects with singletons* Managing threading and concurrency with Swift's advanced Grand Central Dispatch (GCD) patternsForeword xi Preface xiii Acknowledgments xv About the Authors xvi Chapter 1: Introducing Swift 1 1.1 Basic Syntax 2 1.1.1 Variables and Constants 2 1.1.2 String Interpolation 5 1.1.3 Control Flow 6 1.2 Basic Data Types 10 1.2.1 Int 10 1.2.2 Double and Float 12 1.2.3 Bool 13 1.2.4 Strings 14 1.2.5 Arrays 15 1.2.6 Dictionaries 19 Exercises 20 Chapter 2: Diving Deeper into Swift's Syntax 21 2.1 Optionals 22 2.2 Generics 25 2.3 Type Annotations and Type Inference 28 2.4 Functions and Closures 29 2.4.1 Global Functions 30 2.4.2 Nested Functions 30 2.4.3 Closure Expressions 31 2.5 Tuples 32 2.6 switch Statements and Pattern Matching 34 Exercises 37 Chapter 3: Objects and Classes 39 3.1 Enumerations 41 3.2 Classes 45 3.3 Structures 49 3.4 Subclassing 51 3.5 Overloading 52 3.6 Overriding 54 3.7 Initialization 55 3.8 Properties 57 3.8.1 Computed Properties 59 3.8.2 Property Observers 60 3.8.3 lazy Properties 62 3.9 Subscripting 63 3.10 Protocols 65 3.11 Extensions 67 3.12 Access Control 68 Exercises 73 Chapter 4: Optionals 75 4.1 Optionals and nil 76 4.2 Validity Checking, Optional Binding, and Forced Unwrapping 78 4.3 Optional Chaining 81 4.4 Implicitly Unwrapped Optionals 86 Exercises 88 Chapter 5: Generics 91 5.1 Why Generics? 92 5.2 Generic Functions 92 5.2.1 Type Parameters 93 5.2.2 Using More Than One Type Parameter 94 5.3 Generic Types 94 5.3.1 Associated Types 98 5.3.2 The where Clause 100 Exercises 101 Chapter 6: Functions and Closures 103 6.1 Functions 104 6.1.1 Parameters 104 6.1.2 External Parameter Names 105 6.1.3 Default Parameter Values 107 6.1.4 Variadic and inout Parameters 108 6.1.5 Return Types 110 6.2 Closures 112 6.2.1 Inferring Parameters and the Return Value 113 6.2.2 Trailing Closures 113 6.3 Functional Programming Patterns 114 Exercises 117 Chapter 7: Working with Objective-C 119 7.1 Interacting with C and Objective-C APIs 120 7.1.1 Optional Properties and Return Values 122 7.1.2 AnyObject Types 123 7.1.3 Subclassing, Extensions, and Protocols 124 7.1.4 Automatically Converted Types 126 7.1.5 Selectors and Enums 128 7.1.6 Working with C Code 129 7.2 Working with Swift and Objective-C in a Single Project 130 Exercises 133 Chapter 8: Common Patterns 135 8.1 Nested Types 136 8.2 Singletons 137 8.3 Using Grand Central Dispatch 139 8.3.1 dispatch_once 139 8.3.2 dispatch_async 139 8.3.3 dispatch_after 140 8.3.4 dispatch_apply 140 8.4 Sequences and Generators 141 8.5 Operators 145 8.5.1 Operator Overloading 146 8.5.2 Custom Operators 147 Exercises 148 Index 149
Szczegóły: Swift Optionals and Generics for the Really Impatient - Dave Wood, Matt Henderson
Tytuł: Swift Optionals and Generics for the Really Impatient
Autor: Dave Wood, Matt Henderson
Producent: Addison Wesley Publishing Company
ISBN: 9780133960129
Rok produkcji: 2014
Ilość stron: 176
Oprawa: Miękka
Waga: 0.28 kg