I’d like to propose a new language feature for Objective-C, a property attribute that would indicate that a property should only be set from the main thread. Let me be clear: Objective-C does not do this. But wouldn’t it be cool if it did?
@property (mainthreadonly) NSString *title;
I haven’t seen this discussed anywhere, but you can eliminate a level of indentation when using @synchronized and @autoreleasepool blocks in a loop or conditionally. This falls naturally as a result of the way the C language works, and how these blocks work, but it took me a while to realize it.
Apple has a sample code package called Reachability. It wraps an iOS framework called SystemConfiguration, and can be used to determine network status, and catch events about networking going up and down. In the past, it’s been an ugly chunk of sample code, but it’s pretty respectable now. One thing Reachability is not, however, is […]
I previously wrote about breaking the old pattern of writing viewDidUnload. The other half of that is the new reality, which Joe Conway’s written about in View Controller Lifecycle in iOS 6.
If you have an open source library that requires Automatic Reference Counting (ARC), you may have issues with your users trying to build it without ARC turned on. Luckily, it’s pretty simple to enforce ARC. I’m going to discuss how to do so, and why it’s a good idea.
This is a bit obscure, but I ran into it earlier this week. Why would a view controller appear in the wrong orientation on startup?
Which modern Objective-C feature can you use where? Check the Objective-C Feature Availability Index (via 0xced).
You don’t have to build with armv7s right away. And despite user demands, you also don’t have to support 16:9 right away either. It’s fine to get real hardware into your hands. More than fine; it’s being responsible. Apple has you covered with letter boxing; let the 16:9 screen be their problem until you’re really […]
Apple defaults your projects to including ARMv7s code. But unless you can test it, turn it off. There’s nothing wrong with shipping ARMv7 code for a little while longer.
In the past, I’ve tried to avoid using ADC incidents. You get two a year per program, and most years I’ve avoided using any. This year, I decided to use them both the iOS ones up before renewing.