Book Image

Learning Xcode 8

By : Jak Tiano
Book Image

Learning Xcode 8

By: Jak Tiano

Overview of this book

Over the last few years, we’ve seen a breakthrough in mobile computing and the birth of world-changing mobile apps. With a reputation as one of the most user-centric and developer-friendly platforms, iOS is the best place to launch your next great app idea. As the official tool to create iOS applications, Xcode is chock full of features aimed at making a developer’s job easier, faster, and more fun. This book will take you from complete novice to a published app developer, and covers every step in between. You’ll learn the basics of iOS application development by taking a guided tour through the Xcode software and Swift programming language, before putting that knowledge to use by building your first app called “Snippets.” Over the course of the book, you will continue to explore the many facets of iOS development in Xcode by adding new features to your app, integrating gestures and sensors, and even creating an Apple Watch companion app. You’ll also learn how to use the debugging tools, write unit tests, and optimize and distribute your app. By the time you make it to the end of this book, you will have successfully built and published your first iOS application.
Table of Contents (23 chapters)
Learning Xcode 8
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Using important Swift features


We've now covered the basics of Swift, in addition to the building blocks we need to create robust classes and organized data with structs and enums. With these tools, you'd be able to accomplish some great things, but there are a few other important features of Swift that can save you a lot of time, and help you squeeze out even more performance from your code. In this last section, we are going to introduce closures, protocols, class extensions, and Swift's error handling features.

Closures

We've already talked about functions, where we can take a chunk of code and turn it into a reusable command. However, in Swift there is another way to achieve that kind of functionality (no pun intended): closures. Using closures is a great way to pass a chunk of code (sometimes called a block) into a function as an argument, and they're commonly used as completion or error handers. Let's take a look at an example:

// defining a simple closure
let myClosure: () -> Void...