1
다음 코드의 행을 따라 무언가를 사용하여 에 내 객체의 건물을 자동화하는 데 관심이 있습니다.헤더 파일의 속성과 구현 파일의 비교
MyObject *myObject = [[myObject alloc] init];
unsigned int numberOfProperties = 0;
objc_property_t *propertyArray = class_copyPropertyList([MyObject class], &numberOfProperties);
for (NSUInteger i = 0; i < numberOfProperties; i++)
{
objc_property_t property = propertyArray[i];
NSString *propertyName = [NSString stringWithUTF8String:property_getName(property)];
if (propertyName)
{
id valueForProperty = [myObject valueForKey:propertyName];
[myObject setValue:valueForProperty forKey:propertyName];
}
}
free(propertyArray);
그러나, 제가 발견 한 것은이 코드는 내가 원하지 않는뿐만 아니라, 또한 내 구현의 모든 속성을 내 헤더 파일의 등록 정보에없는 실행하려고하지만 것입니다.
Objective-C는 공용 속성과 개인 속성을 실제로 구분하지 않기 때문에이 작업을 수행하는 방법을 잘 모르겠습니다. 헤더 파일의 속성에만 관심이 있다는 것을 나타내는 방법에 대한 생각은 효과적으로 동일한 것을 시뮬레이션 할 수 있습니까?
지키지 마십시오. 선명도가 영리합니다. – zaph
그 코드는 실제로 아무 것도하지 않습니다. 실제로하고 싶은 것을 설명하고 싶다면 현실적인 방법으로 제안 할 수 있습니다. – Chuck