Property List Serialization
iOS MacSaving data to the file system and reading it back is a pretty common operation. One of the first ways many Cocoa and...
Actually finding a memory management error with Instruments
iOS MacInstruments is a very cool profiling application, but it’s one of those things that’s kind of hard to write about. You can outline...
BOOL's sharp corners
iOS MacUpdate October 2013 - On 64-bit iOS (device and simulator) BOOL is now actually bool, so the sharp corners have thankfully gone away for...
Both kinds of Cocoa
iOS MacIf you’re an iOS programmer who only programs CocoaTouch, I want to encourage you to give desktop Cocoa a try. I’ve primarily been...
Table Scanning
iOS MacEvery now and then I get a question about an idiom I use for looping through a collection of literal structures. This...
A Motivation for ivar decorations
iOS MacAn idiom used by some Objective-C programmers is prefixing instance variable names with underscores. You do see this with explicitly declared instance variables:
Protocols Part 3 : Adopting Protocols in Class Extensions
iOS MacOne of the directions Apple is taking in Objective C that I’ve come to really like is the migration of stuff out of header...
Protocols part 2 : Delegation
iOS MacLast time we talked about protocols and why you’d want to use one. So, when would you want to make your own protocol?...
Protocols, part 1 : Why?
iOS MacA comment from a reader of Objective-C Programming: The Big Nerd Ranch Guide came through on the forums, asking about Objective-C protocols. Specifically,...
Checking Assumptions: -measuring isEqual[ToString]: performance
iOS MacThe last post about isEqual: vs isEqualToString: included some timings I made to test the performance of those two calls, along with compare:. ...
isEqual: vs isEqualToString:
iOS Mac_TL;DR: When to use isEqual: or isEqualToString:? There’s no meaningful performance difference between the two. For convenience use isEqual:. For a...