Book Image

iOS Programming Cookbook

By : Hossam Ghareeb
Book Image

iOS Programming Cookbook

By: Hossam Ghareeb

Overview of this book

Do you want to understand all the facets of iOS programming and build complex iOS apps? Then you have come to the right place. This problem-solution guide will help you to eliminate expensive learning curves and focus on specific issues to make you proficient at tasks and the speed-up time involved. Beginning with some advanced UI components such as Stack Views and UICollectionView, you will gradually move on to building an interface efficiently. You will work through adding gesture recognizer and touch elements on table cells for custom actions. You will work with the Photos framework to access and manipulate photos. You will then prepare your app for multitasking and write responsive and highly efficient apps. Next, you will integrate maps and core location services while making your app more secure through various encryption methods. Finally, you will dive deep into the advanced techniques of implementing notifications while working with memory management and optimizing the performance of your apps. By the end of the book, you will master most of the latest iOS 10 frameworks.
Table of Contents (22 chapters)
iOS Programming Cookbook
About the Author
About the Reviewer
Customer Feedback

Using Operation queues

In OperationQueue, we will see another way to perform concurrency in iOS. OperationQueue is a higher-level abstraction of the queue model; on the other hand, GCD is a lower-level C API. OperationQueue is built on top of GCD but in a more object-oriented fashion. In this section, we will perform the same demo but with OperationQueue, and we will see how simple it is, as with GCD.

Getting ready

Before getting started with OperationQueue, let's talk about how it is different from GCD:

  1. It doesn't follow FIFO and doesn't conform to First-In-First-Out like GCD. There are two reasons why it doesn't stick to FIFO. The first one is that you can set an execution priority to the operations so that the operation with the highest priority will be executed first, regardless of its order in the queue. The second thing is that you can add dependency between operations. Dependency means that some operations will not be executed unless some other operation is executed first, as some operation...