Episode 17

It would be nicer if things were nicer


November 30th, 2020

1 hr 1 min 27 secs

Season 1

Your Hosts

About this Episode

Welcome to Code Completion, Episode 17! We are a group of iOS developers and educators hoping to share what we love most about development, Apple technology, and completing your code.

Follow us @CodeCompletion on Twitter to hear about our upcoming livestreams, videos, and other content.

Today, we discuss:

  • Spencer's MacBook Air setup woes
  • The App Store's new 15% commission rate for small businesses
  • Differences between AppKit, UIKit, and the various flavors of SwiftUI when starting a new Mac app

Also, join us for #CompleteTheCode and Compiler Error, two segments that test both your knowledge and our knowledge on Swift, Apple, and all things development!

Your hosts for this week:

Be sure to also sign up to our monthly newsletter, where we will recap the topics we discussed, reveal the answers to #CompleteTheCode, and share even more things we learned in between episodes.

You are what makes this show possible, so please be sure to share this with your friends and family who are also interested in any part of the app development process.


This week's episode of Code Completion is brought to you by Pennant. Check it out on the App Store today!

Compiler Error

  1. Tagged pointers encode their entire object into the non-addressing bits of a pointer, ultimately allowing faster allocations for specific hard-coded classes known by the runtime.
  2. NSZone’s primary purpose was to allow objects to be allocated within the same memory page, so swap would be fast, and those objects could be free’d in one go.
  3. NSProxy is a non-NSObject base class that allows for message dispatch to be easily redirected to another object, but does not have an initializer implemented for subclasses to fall back on.
  4. __NSAtom is a special class that is ultimately the boolean-opposite to nil: any message you send it will always return an __NSAtom, which is very intentionally equal to 1.