koogawa blog

iOS、Android、foursquareに関する話題

[Objective-C] あるオブジェクトが特定のプロパティを持っているか調べる方法

オブジェクト "myObject" がプロパティ名 "myProperty" を持っているか調べる例。

BOOL hasProperty = class_getProperty([myObject class], [@"myProperty" UTF8String]) != NULL;


関数class_getPropertyは、プロパティが宣言されていないとNULLを返すので、この仕組みを利用している。

Objective-C Runtime Reference
http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ObjCRuntimeRef/Reference/reference.html