Swift for the Really Impatient - Matt Henderson, Dave Wood

Swift for the Really Impatient

Buch | Softcover
176 Seiten
2014
Addison-Wesley Educational Publishers Inc (Verlag)
978-0-13-396012-9 (ISBN)
24,50 inkl. MwSt
  • Titel ist leider vergriffen;
    keine Neuauflage
  • Artikel merken
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) patterns

Matt Henderson has been developing for Apple’s platforms since 2009 and is currently a Cocoa engineer at MartianCraft. He’s given several presentations at various user groups and conferences, including 360iDev, Cocoaheads Denver, and Boulder iOS Meetup. He realized he might have a future in software when he discovered it was easier for him to program his graphing calculator to solve equations than it was to study for his math tests. He thinks that the best debugging technique is taking a walk outside in the sun or snow. Dave Wood has been developing for iOS since 2008 and OS X since 2009. He began writing code at age 9 on a TI/99/4A and instantly fell in love. He has worked on various types of projects, including systems that interface with stock exchanges, news outlets, and banking systems, as well as newspaper websites and, of course, mobile apps ranging from games, social networks, financial apps, and productivity and developer apps. When possible, he enjoys whitewater kayaking and scuba diving. Currently he runs his own development studio, Cerebral Gardens, and freelances as a Cocoa engineer for MartianCraft.

Foreword   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

Erscheint lt. Verlag 23.12.2014
Verlagsort New Jersey
Sprache englisch
Maße 181 x 231 mm
Gewicht 284 g
Themenwelt Informatik Betriebssysteme / Server Macintosh / Mac OS X
Informatik Programmiersprachen / -werkzeuge Mac / Cocoa Programmierung
Informatik Software Entwicklung Mobile- / App-Entwicklung
Informatik Weitere Themen Smartphones / Tablets
Technik Nachrichtentechnik
ISBN-10 0-13-396012-9 / 0133960129
ISBN-13 978-0-13-396012-9 / 9780133960129
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
für jeden klar und verständlich

von Uwe Albrecht

Buch | Softcover (2023)
Markt + Technik Verlag
19,95