Episode 31

What's an íPad?


June 5th, 2021

1 hr 13 mins 47 secs

Season 1

Your Hosts

About this Episode

Welcome to Code Completion, Episode 31! 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:
• Code Completion Club:
• Indie App Spotlight, with three apps for you to check out:
• Tomato 2 by Vojtech Rinik:
• DevUtils by Tony Dinh:
• Personal Best by Shaun Donnelly:
• Our final thoughts on Basecamp,
• New Device Reviews, and anticipations for WWDC,
• The Epic vs Apple Trial.

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. Go to the App Store today to check it out!!

Complete the Code

Be sure to tweet us with hashtag #CompleteTheCode if you know the answer!

Compiler Error

This week's Compiler Error has a theme: NSString Class Cluster!
1 - Most dynamically allocated NSStrings are actually NSCFString, which is essentially represented by a CFStringRef or CFMutableStringRef.
2 - NSSecuredString is a specialized implementation of a string that keeps its contents encrypted at rest until they are accessed directly, preventing RAM snapshot analysis.
3 - Whenever path component methods are used, NSPathStore2 is returned, providing an optimized view into an array of path components.
4 - NSCheapMutableString is a limited mutable string that allows for zero-copy initialization, primarily used for temporarily wrapping stack buffers.