Apple’s new Objective-C to Javascript Bridge
A few month back, Apple quietly slipped a very nice Objective-C to Javascript bridge into WebKit.
ArgumentParser
ArgumentParser - Faster, easier, more declarative parsing of command line arguments in Objective-C/Foundation.
Objective-C Runtime Bowser, for Mac OS X and iOS
This is a class browser for the Objective-C runtime on Mac OS X. It gives you full access to all classes loaded in the runtime; allows you to dynamically load new modules and their classes; shows every method implemented on each class; and displays information in a header (.h) file format.
Objective-C Blocks Quiz
Do you really know how blocks work in Objective-C? Take this quiz to find out.
Make your library enforce ARC
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.
A Cocoa library to extend the Objective-C programming language
The Extended Objective-C library extends the dynamism of the Objective-C programming language to support additional patterns present in other dynamic programming languages (including those that are not necessarily object-oriented).
libextobjc is meant to be very modular – most of its classes and modules can be used with no more than one or two dependencies.
Why performSelector: Is More Dangerous Than I Thought
I fixed a rather nasty bug today in AspectObjectiveC. One particular unit test would crash with EXC_BAD_ACCESS every time. After learning far more about registers and ABIs than I ever wanted to know (thanks, Greg Parker), it dawned on me that
performSelector:was corrupting memory. It was particularly hard to track down because the crash would happen a couple of lines after the call to performSelector:, when the corrupted memory was actually accessed.
Overooped: I had completely forgotten about nil targeted actions. BigZaphod...
I had completely forgotten about nil targeted actions. BigZaphod reminds me of the canonical way of dismissing the keyboard:
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];The responder chain is so under-used in iOS. I’ll…
BlocksKit
Blocks in C and Objective-C are downright magical. They make coding easier and potentially quicker, not to mention faster on the front end with multithreading and Grand Central Dispatch. BlocksKit hopes to facilitate this kind of programming by removing some of the annoying - and, in some cases, impeding - limits on coding with blocks.
BlocksKit is a framework and static library for iOS 4.0+ and Mac OS X 10.6+.