Nice idea, but the sample code they show in the screenshot uses "FALSE" instead of NO (the Obj-C standard boolean literal).
I'm not sure how they did that (#define?) but stay far, far away. Imagine if you opened up a Ruby codebase and found out I had aliased NO to be the same as the language builtin false... yeesh.
Also, setting boolean instance variables to NO in init is silly since Obj-C objects are calloc'd, so all ivars are guaranteed to start with default values (nil/0/NO).
> I'm not sure how they did that (#define?) but stay far, far away
...NO and YES in Objective-C are themselves #defines. As others have pointed out, TRUE/FALSE are also already defined in the language, although using them in Objective-C is not good style.
CFBase.h defines TRUE as 1 and FALSE as 0. There's no reason to think that they defined it themselves (and indeed, I believe this would error unless they explicitly checked for a previous definition).
I'm not sure how they did that (#define?) but stay far, far away. Imagine if you opened up a Ruby codebase and found out I had aliased NO to be the same as the language builtin false... yeesh.
Also, setting boolean instance variables to NO in init is silly since Obj-C objects are calloc'd, so all ivars are guaranteed to start with default values (nil/0/NO).