Book Image

Mastering iOS 12 Programming - Third Edition

By : Donny Wals
Book Image

Mastering iOS 12 Programming - Third Edition

By: Donny Wals

Overview of this book

The iOS development environment has significantly matured, and with Apple users spending more money in the App Store, there are plenty of development opportunities for professional iOS developers. However, the journey to mastering iOS development and the new features of iOS 12 is not straightforward. This book will help you make that transition smoothly and easily. With the help of Swift 4.2, you’ll not only learn how to program for iOS 12, but also how to write efficient, readable, and maintainable Swift code that maintains industry best practices. Mastering iOS 12 Programming will help you build real-world applications and reflect the real-world development flow. You will also find a mix of thorough background information and practical examples, teaching you how to start implementing your newly gained knowledge. By the end of this book, you will have got to grips with building iOS applications that harness advanced techniques and make best use of the latest and greatest features available in iOS 12.
Table of Contents (35 chapters)
Title Page
Copyright and Credits
Dedication
Packt Upsell
Contributors
Preface
Index

Exploring the Instruments suite


In this book's code bundle, you'll find a project named Mosaic. The app is still in the early stages of development, so there is plenty of work that needs to be done to improve it. More specifically, the app doesn't seem to work very well.

Even though the app isn't finished and the code isn't perfect, the app should be working fine. None of the features appears to be very performance-heavy, so the app works fine. If you launch the app and click around, you'll notice that the app isn't working fine. It's really slow! Let's see how you can track down the exact cause of the slowness.

If you dig through the source code, you'll immediately see that the app has three main screens:

  • A table view
  • A collection view
  • A detail view

The table view displays a list of 50 items, each of which links to an infinitely-scrolling collection view with a custom layout. The layout for the collection view is custom because it needed to have exactly one pixel of spacing between items. The...