Master Apple's new Swift programming language by following the best practices to write efficient and powerful code
About This Book
- Start with basic language features and progressively move to more advanced features
- Learn to use Xcode's new Playground feature as you work through the immense number of examples in the book
- Learn what makes development with Swift so exiting and also get pointers on pitfalls to avoid
Who This Book Is For
If you are a developer that learns best by looking at, and working with, code, then this book is for you. A basic understanding of Apple's tools is beneficial but not mandatory.
What You Will Learn
- Prototype and test code in a Playground
- Understand the basics of Swift, including operators, collections, control flows, and functions
- Create and use Classes, Structures, and Enums, including object-oriented topics such as inheritance, protocols, and Extensions
- Dwell into Subscripts, Optionals, and closures with real-world scenarios
- Employ Grand Central Dispatch to add concurrency to your applications
- Study the Objective-C interoperability with mix and match
- Access network resources using Swift
- Implement various standard design patterns in the Swift language
Swift is Apple's new innovative and user-friendly development language, which is packed with modern features to make programming easier, fun, and flexible.
This book begins by giving you a solid Introduction to the Swift programming language so you can quickly begin developing applications using this interesting language. It also covers advanced topics such as Objective-C interoperability, ARC, closures, and concurrency. Each concept covered is backed up with example code and demonstrates how to properly execute it. Next, you will be taught about all of the advanced features of Swift, and its interaction with Apple's APIs and libraries. You'll then learn to interact with REST-based web services using Swift. We will conclude the book by getting equipped to design and build applications using established design patterns.