Book Image

iOS 15 Programming for Beginners - Sixth Edition

By : Ahmad Sahar, Craig Clayton
5 (1)
Book Image

iOS 15 Programming for Beginners - Sixth Edition

5 (1)
By: Ahmad Sahar, Craig Clayton

Overview of this book

With almost 2 million apps on the App Store, iOS mobile apps continue to be incredibly popular. Anyone can reach millions of customers around the world by publishing their apps on the App Store. iOS 15 Programming for Beginners is a comprehensive introduction for those who are new to iOS. It covers the entire process of learning the Swift language, writing your own app, and publishing it on the App Store. Complete with hands-on tutorials, projects, and self-assessment questions, this easy-to-follow guide will help you get well-versed with the Swift language to build your apps and introduce exciting new technologies that you can incorporate into your apps. You'll learn how to publish iOS apps and work with Mac Catalyst, SharePlay, SwiftUI, Swift concurrency, and much more. By the end of this iOS development book, you'll have the knowledge and skills to write and publish interesting apps, and more importantly, to use the online resources available to enhance your app development journey.
Table of Contents (32 chapters)
1
Part 1: Swift
10
Part 2: Design
15
Part 3: Code
25
Part 4: Features

Configuring the MapDataManager instance to use data from the RestaurantDataManager instance

Currently, there is an error in the MapDataManager file. This is because the fetch(completion:) method in your MapDataManager class calls the initializer method that you removed from the RestaurantItem class. You will now update the MapDataManager class to use the RestaurantDataManager instance as a data source, fixing the error in the process. Click the MapDataManager file (inside the Model folder in the Map folder) in the Project navigator and update the fetch(completion:) method as follows:

func fetch(completion: (_ annotations: [RestaurantItem]) -> ()){
   let manager = RestaurantDataManager()
   manager.fetch(location: "Boston", completionHandler: { 
      (restaurantItems) in self.items = restaurantItems
      completion(items)
   })
}

Let's break this down:

...