50
Used, New, and Out of Print Books - We Buy and Sell - Powell's Books
Cart |
|  my account  |  wish list  |  help   |  800-878-7323
Hello, | Login
MENU
  • Browse
    • New Arrivals
    • Bestsellers
    • Featured Preorders
    • Award Winners
    • Audio Books
    • See All Subjects
  • Used
  • Staff Picks
    • Staff Picks
    • Picks of the Month
    • Bookseller Displays
    • 50 Books for 50 Years
    • 25 Best 21st Century Sci-Fi & Fantasy
    • 25 PNW Books to Read Before You Die
    • 25 Books From the 21st Century
    • 25 Memoirs to Read Before You Die
    • 25 Global Books to Read Before You Die
    • 25 Women to Read Before You Die
    • 25 Books to Read Before You Die
  • Gifts
    • Gift Cards & eGift Cards
    • Powell's Souvenirs
    • Journals and Notebooks
    • socks
    • Games
  • Sell Books
  • Blog
  • Events
  • Find A Store

Don't Miss

  • Kapow! graphic novels sale
  • The Chef's Kiss Sale
  • Powell’s Essential List: Novellas
  • Powell's Author Events
  • Oregon Battle of the Books
  • Audio Books

Visit Our Stores


Powell's Staff: New Literature in Translation: September 2023 (0 comment)
This month, we have nine new works in translation that we are so excited to recommend to you. On this list, you’ll find the story of “seemingly close, lifelong friendship” from France; a tender, heartbreaking novel from a late Brazilian author; a French treatise on creativity in crisis; two Japanese horror collections...
Read More»
  • C Pam Zhang: Powell’s Q&A: C Pam Zhang, author of ‘Land of Milk and Honey’ (0 comment)
  • Kirsten Berg: Rare Book Room Dispatch: Concerning Witches and Apparitions (0 comment)

{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##

Swift for the Really Impatient

by Matt Henderson, Dave Wood
Swift for the Really Impatient

  • Comment on this title
  • Synopses & Reviews

ISBN13: 9780133960129
ISBN10: 0133960129
Condition: Standard


All Product Details

View Larger ImageView Larger Images
Ships free on qualified orders.
Add to Cart
$14.95
List Price:$29.99
Used Trade Paperback
Ships in 1 to 3 days
Add to Wishlist
QtyStore
1Local Warehouse

Synopses & Reviews

Publisher Comments

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

Synopsis

Swift for the Really Impatient will be a jump start into the Swift language for professional developers who need to transition from Objective-C. The book will consist of three sections. It will begin with a brief introduction to the basics of Swift and cover several features of the language that will be unfamiliar to Objective-C developers. After introducing the new and important features of Swift, the chapters in the second section will delve deeper into key topics all Cocoa developers will need to master. These feature specific chapters will illustrate the fundamentals of the feature, including how to correctly utilize the feature, advantages it has over the Objective-C counterpart (if one exists), and why Apple implemented the feature the way they have. Code samples will be used throughout to demonstrate the practical usage of the feature. Finally, the last section of the book will focus on techniques developers will need to know in order to start integrating Swift into their existing projects and workflows. Building upon the features covered earlier in the book, the reader will be shown how Swift and Objective-C can be used together, and that using Swift doesn't mean they have to abandon their existing Objective-C code. The final chapter will present common solutions used in Objective-C, and how those solutions should be implemented in Swift.

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. His previous experience includes leading teams on both iOS and Android projects and developing in languages ranging from Java to embedded C/C++.

Dave Wood has been developing for iOS since 2008 and OS X since 2009. His experience includes developing systems that interface with stock exchanges, news outlets, and banking systems; creating newspaper sites; and building mobile apps of all kinds, from games and social networks to apps for finance, productivity, and professional development. 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


What Our Readers Are Saying

Be the first to share your thoughts on this title!




Product Details

ISBN:
9780133960129
Binding:
Trade Paperback
Publication date:
12/24/2014
Publisher:
ADDISON WESLEY PRESS INC
Pages:
176
Height:
.30IN
Width:
6.10IN
Thickness:
.25
Author:
Dave Wood
Author:
Matt Henderson
Author:
Dave Wood
Media Run Time:
B

Ships free on qualified orders.
Add to Cart
$14.95
List Price:$29.99
Used Trade Paperback
Ships in 1 to 3 days
Add to Wishlist
QtyStore
1Local Warehouse
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
  • Twitter
  • Facebook
  • Pinterest
  • Instagram

  • Help
  • Guarantee
  • My Account
  • Careers
  • About Us
  • Security
  • Wish List
  • Partners
  • Contact Us
  • Shipping
  • Transparency ACT MRF
  • Sitemap
  • © 2023 POWELLS.COM Terms

{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]##
{1}
##LOC[OK]## ##LOC[Cancel]##
{1}
##LOC[OK]## ##LOC[Cancel]##