Recent Articles

  1. Building a Unit Tested, iCloud-backed Persistent Data Model with NSUbiquitous​KeyValueStore
  2. 2 Apr

    In modern iOS applications, users expect to be able to access their data across all of their devices. Thanks to the wide array of hardware produced by Apple, this can span from portable devices such as iPhone and iPad, all the way to our desktop computers and TVs. Many apps have their data supplied by back-end services, making shared access relatively trivial across multiple platforms. However, for apps that are responsible for managing data without such provision, we can build our own data stores on top of iCloud in order to serve our users with the information they expect on whichever device they choose to use. Read more…

    • iCloud
    • System Frameworks
    • Unit Testing
  3. Advanced Multi-window UIs on iPadOS with Drag & Drop and State Restoration
  4. 2 Jan

    WWDC 2019 saw the introduction of a new operating system - iPadOS - for iPad. The first features of iPadOS listed on Apple's webpage that distinguish it from iOS are Slide Over, Split View, Apps in Multiple Spaces, and App Exposé. All of these features are powered by iPadOS's multi-window user interface, and today we are going to explore how to leverage these features in your apps using the powerful new "scene" APIs introduced with iPadOS. You will see that with a relatively small architectural change, your app will benefit from multi-window support. With a little bit more work, your app can support multiple scenes to support the various different workflows of your power users. Let's get started! Read more…

    • iPadOS
    • UIKit
  5. Simplifying UICollectionView Usage With UICollectionView​DiffableDataSource
  6. 11 Dec

    Both UICollectionView and UITableView received significant updates at this year's WWDC, one of which was a new way to supply said views with the data that they display. This new data-providing functionality is afforded by two new classes - UICollectionView​DiffableDataSource and UITableView​DiffableDataSource. Most of the examples of using these new classes that Apple focussed on emphasised the benefits that apply to particularly complex collection and table views where the data being displayed is frequently changed, which in the past has been a source of headaches for developers when trying to update the view to match the new data. However, we also get worthwhile improvements to our code when using UICollectionView​DiffableDataSource for simple collection views whose data isn't frequently updated in complex ways. Read more…

    • iOS
    • UIKit

See all of my articles.