Book Image

iOS 16 Programming for Beginners - Seventh Edition

By : Ahmad Sahar, Craig Clayton
Book Image

iOS 16 Programming for Beginners - Seventh Edition

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, which means that competent iOS developers are in high demand. iOS 16 Programming for Beginners, Seventh Edition, is a comprehensive introduction for those who are new to iOS, covering the entire process of learning the Swift language, writing your own app, and publishing it on the App Store. This book follows a hands-on approach. With step-by-step tutorials to real-life examples and easy-to-understand explanations of complicated topics, each chapter will help you learn and practice the Swift language to build your apps and introduce exciting new technologies to incorporate into your apps. You'll learn how to publish iOS apps and work with new iOS 16 features such as Mac Catalyst, SwiftUI, Lock Screen widgets, WeatherKit, 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 (34 chapters)
1
Part I: Swift
11
Part II: Design
16
Part III: Code
26
Part IV: Features
32
Other Books You May Enjoy
33
Index

Getting Started with MapKit

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

In this chapter, you’ll display restaurant locations on the Map screen using custom pins. When you tap on a pin, you’ll see a screen that shows details of a particular restaurant. Apple provides an MKAnnotation protocol that allows you to associate the classes you create with a specific map location. You’ll create a new class, RestaurantItem, that conforms to this protocol. Next, you’ll create MapDataManager, a data manager class that loads restaurant data from a .plist file and puts it into an array of RestaurantItem instances. You’ll create a new DataManager protocol to read .plist files and update both the MapDataManager and ExploreDataManager classes to avoid redundant code (refactoring). After that, you’ll create a MapViewController...