Swift for the Really Impatient

Swift for the Really Impatient

by Matt Henderson, Dave Wood
Swift for the Really Impatient

Swift for the Really Impatient

by Matt Henderson, Dave Wood

eBook

$21.99  $28.99 Save 24% Current price is $21.99, Original price is $28.99. You Save 24%.

Available on Compatible NOOK devices, the free NOOK App and in My Digital Library.
WANT A NOOK?  Explore Now

Related collections and offers


Overview

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


Product Details

ISBN-13: 9780133960242
Publisher: Pearson Education
Publication date: 12/12/2014
Sold by: Barnes & Noble
Format: eBook
Pages: 176
File size: 7 MB
Age Range: 18 Years

About the Author

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.

Table of Contents

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
From the B&N Reads Blog

Customer Reviews