When I wrote this method it seemed like it would be helpful,
//log a warning for any member variable that nil
- (void) warnOfNilIVars;
{
unsigned int ivarCount = 0;
Ivar * ivarList = class_copyIvarList([self class], &ivarCount);
if(ivarList) {
for(int i = 0; i < ivarCount; i++){
const char *typeString = ivar_getTypeEncoding(ivarList[i]);
if(typeString && typeString[0] == '@')
if(!object_getIvar(self, ivarList[i]))
NSLog(@"***WARNING: ivar %s of %@ is nil", ivar_getName(ivarList[i]), [self className]);
}
free(ivarList);
}
}
But in practice I haven’t really used it (and when I have there were quite a few false-positives). Still, I think it’s pretty neat that you can do something like this in Objective-C.
If you find a use for it, please let me know!