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...