Beginners
5 Nov 2012
Mistakes Were Made: Audio and ARC
ARC silently kills your AVAudioPlayer mid-playback. Here’s why and how to fix it. Spoiler: make it an ivar, and maybe file a radar while you’re at it.
30 Sep 2011
Mistakes Were Made: Description Isn’t Enough
Turns out po calls debugDescription, not description. Oops. A correction to an earlier blog post, with the fix that keeps CALayer subclasses from hijacking your custom output.
29 Aug 2011
Why CALayer’s contents property is typed as id, and the neat trick that makes possible. Spoiler: you can clone a layer’s contents — even a CABackingStore — without ever touching a CGImageRef.
1 Aug 2011
Mistakes Were Made: Initialize Your Locals
An uninitialized float worked fine in debug and shipped a bug to the App Store. The fix is a compiler warning you should turn on right now — plus a lesson in why zeroing your locals matters.
27 Jul 2011
CALayers v. CGLayers, or, Which Layer, Player?
CALayer and CGLayer sound related. They’re not. Here’s why you should ignore CGLayer on iOS. A quick breakdown of what each layer type actually does and why CGLayer’s desktop advantages don’t carry over.
26 Jul 2011
Override description on your classes and stop staring at memory addresses in the console. A beginner-friendly walkthrough of making NSLog and GDB actually useful for your custom objects.