Book Image

iOS 13 Programming for Beginners - Fourth Edition

By : Ahmad Sahar, Craig Clayton
Book Image

iOS 13 Programming for Beginners - Fourth Edition

By: Ahmad Sahar, Craig Clayton

Overview of this book

iOS 13 comes with features ranging from Dark Mode and Catalyst through to SwiftUI and Sign In with Apple. If you're a beginner and are looking to experiment and work with these features to create your own apps, then this updated fourth edition gets you off to a strong start. The book offers a comprehensive introduction for programmers who are new to iOS, covering the entire process of learning the Swift language, writing your own apps, and publishing them on the App Store. This edition is updated and revised to cover the new iOS 13 features along with Xcode 11 and Swift 5. The book starts with an introduction to the Swift programming language, and how to accomplish common programming tasks with it. You'll then start building the user interface (UI) of a complete real-world app, using the latest version of Xcode, and also implement the code for views, view controllers, data managers, and other aspects of mobile apps. The book will then help you apply the latest iOS 13 features to existing apps, along with introducing you to SwiftUI, a new way to design UIs. Finally, the book will take you through setting up testers for your app, and what you need to do to publish your app on the App Store. By the end of this book, you'll be well versed with how to write and publish apps, and will be able to apply the skills you've gained to enhance your apps.
Table of Contents (33 chapters)
1
Section 1: Swift
10
Section 2: Design
15
Section 3: Code
26
Section 4: Features

Getting Started with MapKit

In the last chapter, you learned about table views and table view controllers, and completed the implementation of the Locations screen so it now displays a list of restaurant locations.

In this chapter, you'll display restaurant locations on the Map screen using custom pins. When users tap on a pin, they'll see a screen that shows details of a particular restaurant.

To do this, you'll create a new class, RestaurantItem, that conforms to the MKAnnotation protocol. Next, you'll create MapDataManager, a data manager that loads restaurant data from a .plist file and puts it into an array of RestaurantItem instances. You'll make changes to both MapDataManager and ExploreDataManager to avoid redundant code (refactoring).

After that, you'll create MapViewController, a view controller for the Map screen, and configure it to display...