어떤 객체의 어떤 프로퍼티의 이름을 NSString 으로 얻고자 하는 코드. 이런 코드는 Key-Value coding 에 유용하게 사용될 수 있다.


    unsigned int numIvars = 0;

    NSString *key=nil;

    Ivar * ivars = class_copyIvarList(SomeObj, &numIvars);

    for(int i = 0; i < numIvars; i++) {

        Ivar thisIvar = ivars[i];

        if ((object_getIvar(self, thisIvar) == SomeObj.someProperty )) {

            key = [NSString stringWithUTF8String:ivar_getName(thisIvar)];

            break;

        }

    } 

    free(ivars);

    ///   key 에 저장된 이름을 사용한다.


이상 끝!


이 게시물을..