Swift in 24 Hours, Sams Teach Yourself - Bj Miller

Swift in 24 Hours, Sams Teach Yourself

(Autor)

Buch | Softcover
448 Seiten
2014
Sams Publishing (Verlag)
978-0-672-33724-6 (ISBN)
34,15 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
In just 24 lessons of one hour or less, Sams Teach Yourself Swift in 24 Hours helps you build next-generation OS X and iOS apps with Apple’s new Swift programming language.

This book’s straightforward, step-by-step approach helps you quickly master Swift’s core concepts, structure, and syntax and use Swift to write safe, powerful, modern code. In just a few hours you’ll be applying advanced features such as extensions, closures, protocols, and generics. Every lesson builds on what you’ve already learned, giving you a rock-solid foundation for real-world success.

Step-by-step instructions carefully walk you through the most common Swift development tasks.
Practical, hands-on examples show you how to apply what you learn.
Quizzes and exercises help you test your knowledge and stretch your skills.
Notes and tips point out shortcuts and solutions.

Learn how to...


Set up your Swift development environment
Master Swift’s fundamental data types and operators
Make the most of arrays and dictionaries
Control program flow, modify execution paths, and iterate code
Perform complex actions with functions
Work with higher-order functions and closures
Harness the power of structs, enums, classes, and class inheritance
Customize initializers of classes, structs, and enums
Implement instance methods, type methods, and advanced type functionality
Take full advantage of Swift’s advanced memory allocation
Extend type functionality with protocols and extensions
Leverage the power of generics, chaining, and other advanced features
Interoperate with Objective-C code
Interact with user interfaces
Take advantage of Swift’s Standard Library features and functions

Who Should Read this Book

Beginner-intermediate level programmers
Advanced programmers who are not yet familiar with Swift can benefit

BJ Miller is an iOS developer for a consultancy in the Cleveland, Ohio, area. BJ earned his B.S. in Computer Science from Baldwin-Wallace College (now called Baldwin-Wallace University) in Berea, Ohio, the town where he grew up. His latest career path encompasses large-scale enterprise network administration, SQL database administration, and Microsoft SharePoint Server and Microsoft Project Server administration and integration as a contractor for the United States Department of Defense, with all the Microsoft certifications that come along with that. Before that, he spent several years in LAN engineering, designing and implementing network infrastructure, as a Cisco Certified Network Associate. BJ began iOS development in 2009 after not having programmed for a few years, and he developed a passion for the platform and the Objective-C language. Now, his love has expanded to include Swift, and there is still yet room in his heart for more. In 2013 he released his first app into the iOS App Store, called MyPrayerMap, as a simple tool for managing prayer requests. When he is not writing in Objective-C or Swift for either work or this book, he enjoys spending time with his wife and two boys, reading, listening to music or podcasts, and playing The Legend of Zelda (any game on any system will do). He also co-organizes the Cleveland CocoaHeads Meetup with Daniel Steinberg, http://www.meetup.com/Cleveland-CocoaHeads/, and organizes a submeetup of that group called Paired Programming Fun, which is a casual meetup where the focus is on Test-Driven Development (TDD) in Swift and Objective-C in paired-programming style. BJ often presents iOS-related topics at CocoaHeads and also speaks at other conferences such as CocoaConf (Columbus, Ohio) and CodeMash v2.0.1.5. He also blogs from time to time at http://bjmiller.me and is on Twitter as @bjmillerltd.

Introduction   xv
HOUR 1: Introducing the Swift Development Environment   1
What Is Swift?    2
Getting Started   2
Summary   9
Q&A   10
Workshop   10
Exercise   11
HOUR 2: Learning Swift’s Fundamental Data Types   13
Constants in Swift   13
Variables in Swift    14
Introducing Data Types   15
Summary   23
Q&A   24
Workshop   24
Exercise   25
HOUR 3: Using Operators in Swift   27
Unary Operators   27
Binary Operators   29
Ternary Conditional Operators   35
Summary   35
Q&A   36
Workshop   36
Exercise   37
HOUR 4: Working with Collection Types   39
Arrays   39
Dictionaries   46
Tuples   50
Summary   51
Q&A   51
Workshop   52
Exercise   52
HOUR 5: Understanding Optional Values   53
What Are Optional Values?    53
How to Designate a Variable as Optional    54
Wrapping and Unwrapping Optional Variables   54
Use Case for Optionals   58
Summary   61
Q&A   62
Workshop   62
Exercise   63
HOUR 6: Controlling Program Flow with Conditionals   65
The if Statement    65
The switch Statement    70
Summary   77
Q&A   78
Workshop   78
Exercise   80
HOUR 7: Iterating Code with Loops   81
Two Categories of Loops   81
Transferring Control in Loops   93
Summary   95
Q&A   95
Workshop   96
Exercise   97
HOUR 8: Using Functions to Perform Actions   99
The Nature of Functions in Swift   100
General Function Syntax and Structure   100
Functions with No Parameters and No Return Type   102
The Type of a Function   102
Functions with Parameters   103
Functions with Variadic Parameters   105
Functions with Return Types   106
External Parameter Names   111
Default Parameter Values   112
Change Argument Values with In-Out Parameters   112
Summary   113
Q&A   114
Workshop   114
Exercise   115
HOUR 9: Understanding Higher Order Functions and Closures   117
Higher Order Functions   117
Closures   124
Summary   132
Q&A   133
Workshop   133
Exercise   135
HOUR 10: Learning About Structs and Classes   137
Overview of Structs and Classes in Swift   137
What Swift Structs and Classes Have in Common   139
Differences Between Structs and Classes   147
When to Use a Class or a Struct   150
Summary   151
Q&A   151
Workshop   152
Exercise   153
HOUR 11: Implementing Class Inheritance   155
What Is Inheritance?    155
Identifying a Base Class   156
Creating a Subclass   157
Overriding Inherited Methods   159
Accessing super   162
Preventing Overrides   164
Class Identity   166
Summary   167
Q&A   168
Workshop   169
Exercise   170
HOUR 12: Harnessing the Power of Enums   171
Understanding Swift Enums   171
Swift Enum Structure   172
Raw Values   173
Enum Shorthand Syntax   175
Associated Values   177
Switching Enum Values   178
Adding Instance Methods to Enums   180
Summary   182
Q&A   183
Workshop   183
Exercise   184
HOUR 13: Customizing Initializers of Classes, Structs, and Enums   185
Initialization   185
Initializing Value Types   187
Advanced Initialization   193
Summary   201
Q&A    202
Workshop   202
Exercise   203
HOUR 14: Digging Deeper with Properties   205
Stored Properties   206
Computed Properties   209
Property Accessors   209
Property Observers   212
Inheriting and Overriding Accessors   215
Inheriting and Overriding Observers   217
Summary   221
Q&A   221
Workshop   222
Exercise   222
HOUR 15: Adding Advanced Type Functionality   223
Type Properties and Methods   223
Type Aliasing   229
Type Access Control   230
Subscripts   231
Type Casting and Non-Specific Types   235
Summary   239
Q&A   239
Workshop   240
Exercise   241
HOUR 16: Understanding Memory Allocation and References   243
Deinitialization   243
Automatic Reference Counting   247
Summary   259
Q&A   260
Workshop   261
Exercise   261
HOUR 17: Using Protocols to Define Behavior   263
Defining Protocols   263
Creating and Adopting Protocols   264
Properties   265
Defining Methods in Protocols   266
Using Protocol Names as Types   268
Adopting and Inheriting Multiple Protocols   269
Optional Protocol Properties and Methods   273
How to Check for Protocol Conformance   275
Using Protocols for Delegation   275
Summary   280
Q&A   281
Workshop   282
Exercise   282
HOUR 18: Using Extensions to Add Type Functionality   285
Defining Extensions   285
Adding Functionality with Extensions   287
Summary   297
Q&A   297
Workshop   298
Exercise   298
HOUR 19: Working with Optional Chaining   301
Defining Optional Chaining   301
Chaining Optional Properties   302
Subscripts   303
Methods   308
Summary   310
Q&A   311
Workshop   311
Exercise   312
HOUR 20: Introducing Generics   313
An Introduction to Generics   313
Type Parameters and Placeholder Types   314
Specifying Type Constraints   315
Creating Generic Types   319
Extending Generic Types   322
Using Associated Types in Protocols   323
Summary   325
Q&A   326
Workshop   326
Exercise   327
HOUR 21: Adding Interoperability with Objective-C   329
Objective-C Basics   329
Bridging   335
Integrating Swift into an Objective-C App   337
Summary   346
Q&A   347
Workshop   348
Exercise   348
HOUR 22: Interacting with User Interfaces   351
Interface Introduction   351
Interface Definitions   352
Building an Interface   353
Creating Your Own Project   355
Adding UI Elements   355
Summary   369
Q&A   370
Workshop   370
Exercise   371
HOUR 23: Asynchronous Programming in Swift   373
The Problem That Concurrency Solves   373
Different Types of Queues   374
Asynchronous Programming in Action   376
Add iTunes Search to Songs App   380
Parsing JSON   383
Summary   390
Q&A   390
Workshop   391
Exercise   392
HOUR 24: Learning Swift’s Standard Library Functions   393
What Is a Standard Library?    393
Numeric Types   394
String Type   394
Protocols   395
Functional Functions   399
Global Functions   401
Summary   404
Q&A   405
Workshop   405
Exercise   406
Index   409

Verlagsort Indianapolis
Sprache englisch
Maße 181 x 231 mm
Gewicht 698 g
Themenwelt Informatik Betriebssysteme / Server Macintosh / Mac OS X
Informatik Software Entwicklung Mobile- / App-Entwicklung
Informatik Weitere Themen Smartphones / Tablets
Technik Nachrichtentechnik
ISBN-10 0-672-33724-X / 067233724X
ISBN-13 978-0-672-33724-6 / 9780672337246
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Schritt für Schritt einfach erklärt

von Philip Kiefer

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