Chapter 1, UITableView Touch Up, is all about table views. Most iOS developers will hVE already seen a table view in their attempts at learning iOS. This chapter is intended as a warm-up for what's to come in the next chapters.
Chapter 2, A Better Layout with UICollectionView, informs that the table view's superpowered sibling is the collection view. This chapter will cover implementing a collection view and writing a custom layout object for it.
Chapter 3, Creating a Contact Details Page, says that if you're building apps, you'll need to make them work on many different screen sizes. This chapter will show you how to use auto layout in order to create beautiful, adaptive layouts.
Chapter 4, Immersing Your Users with Animation, informs that the best apps set themselves apart with beautiful and subtle animations. You'll learn multiple animation techniques, and to top it off, you'll learn how to create custom transitions between view controllers.
Chapter 5, Improving Your Code with Value Types, explains the difference between reference and value types. You'll learn why it's a good idea to use value types as much as possible.
Chapter 6, Making Your Code More Flexible with Protocols and Generics, explains that once you've learned about value types, their possibilities and their limitations, it's only logical to learn about protocol-oriented programming. This style of programming was introduced by Apple and serves as a way to avoid complex inheritance hierarchies and to make code clearer and more testable.
Chapter 7, Refactoring the HelloContacts Application, teaches you to apply the lessons learned from the previous two chapters to improve an app you've already worked on.
Chapter 8, Adding Core Data to Your App, says that many apps have a need to store data into a database. This chapter introduces Apple's CoreData framework as a way to include a database for user data in your app.
Chapter 9, Storing and Querying Data in Core Data, covers how to store data in the database you set up in the previous chapter. We'll also cover querying this data using fetch requests and predicates.
Chapter 10, Fetching and Displaying Data from the Network, showcases how to make use of web APIs to fetch and display data.
Chapter 11, Being Proactive with Background Fetch, teaches that iOS allows apps to refresh and load data in the background. This chapter covers how to do this, and briefly introduces you to dispatch groups.
Chapter 12, Enriching Apps with the Camera, Motion, and Location, shows how to build a login screen for an art app that uses several sensors in the iPhone to create a more immersive experience.
Chapter 13, Extending the World with ARKit, demonstrates how you can use Apple's groundbreaking ARKit framework to build an augmented reality experience.
Chapter 14, Exchanging Data with Drag and Drop, takes you through how to augment an app to allow users to drag contents from your app to other apps and vice versa.
Chapter 15, Making Smarter Apps with CoreML, teaches everything you should know about the CoreML framework. You'll implement a machine learning model that recognizes dominant objects in a scene.
Chapter 16, Increasing Your App's Discoverability with Spotlight and Universal Links, explores how you can make an iOS index for your app's contents to make it available through the powerful Spotlight search index.
Chapter 17, Instant Information with a Notification Center Widget, says that developers can add widgets to the Notification Center to disclose quick information to users; this chapter will teach you how.
Chapter 18, Implementing Rich Notifications, is a walk through everything you need to know about providing a great notification experience for your users. We'll cover both the UI extension and content extension.
Chapter 19, Extending iMessage, shows how to build a sticker app for iMessage or something more complex.
Chapter 20, Integrating Your App with Siri, covers how to integrate the SiriKit APIs in your own applications. This enables you to integrate your app deeply into the iOS platform.
Chapter 21, Ensuring App Quality with Tests, focuses on testing an often overlooked aspect of developing an app. This chapter will teach you how to set up tests for your application.
Chapter 22, Discovering Bottlenecks with Instruments, takes you through how to profile your app's performance with instruments.
Chapter 23, Offloading Tasks with Operations and GCD, informs that apps perform increasingly complex tasks. This chapter teaches you how to ensure that complex or slow tasks don't freeze your user interface.
Chapter 24, Wrapping Up the Development Cycle and Submitting to the App Store, teaches how to distribute your app to beta testers through TestFlight and how to submit your app for review in order to publish it to the App Store.