This Xcode 9 project demonstrates concurrency in iOS using Grand Central Dispatch (GCD) and compares concurrent (asynchronous) queues and serial (synchronous) queues.
The Swift language migration wizard was used to convert this project to Swift 4. (In Xcode, see the "Edit" menu -> "Convert" -> "To Current Swift Syntax..."). The original project was created in Xcode 8.2.1 with Swift 3.
Here's this app in action:
To get this project running on the Simulator or a physical device (iPhone, iPad), go to the following locations in Xcode and make the suggested changes:
- Project Navigator -> [Project Name] -> Targets List -> TARGETS -> [Target Name] -> General -> Signing
- Tick the "Automatically manage signing" box
- Select a valid name from the "Team" dropdown
- Project Navigator -> [Project Name] -> Targets List -> TARGETS -> [Target Name] -> General -> Identity
- Change the "com.yourDomainNameHere" portion of the value in the "Bundle Identifier" text field to your real reverse domain name (i.e., "com.yourRealDomainName.Project-Name").