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

Properly separating concerns


Before you can improve your project structure with value types and protocols, it's a good idea to improve upon your structure in general. We haven't really thought about the reuse possibilities of certain aspects of the Hello-Contacts app, which results in code that's harder to maintain in the long run. This is especially true for larger projects that are built over an extended period of time.

If you take a look at the source code for this project in the book's code bundle, you'll find that the project was slightly modified. First, all the project files were put together in sensible groups. Doing so makes it easier for you to navigate your project's files, and it creates a natural place for certain files, as shown in the following screenshot:

 

The structure applied in this project is merely a suggestion; if you feel that a different structure would suit you better, go ahead and make the change. The most important part is that you've thought about your project structure...