2012-02-02 3 views
2

클래스가 프로그래밍 방식으로 어떤 속성을 결정할 수 있습니까? 클래스 (또는 하위 클래스)가 정의한 속성을보고 싶습니다. 나는 이것이 런타임 인트로 스펙 션과 관련이 있다고 말했다. 나는 this article을 찾았지만 빙산의 일각에 불과한 것으로 보인다.클래스가 프로그래밍 방식으로 어떤 속성을 결정할 수 있습니까?

그래서 클래스가 프로그래밍 방식으로 어떤 속성을 결정할 수 있습니까? 방법?

편집 : iOS에서 일하고 있어요

아니라 맥 OS X의 어떤 헤더 내가 가져해야합니까?

답변

4

Objective-C 런타임 프로그래밍 가이드에는 a section about listing properties이 포함되어 있습니다. 실제로 목록을 가져옵니다 관련 조각은 다음과 같습니다

id LenderClass = objc_getClass("Lender"); 
unsigned int outCount; 
objc_property_t *properties = class_copyPropertyList(LenderClass, &outCount); 

그런 다음 당신은 당신이 목록에있는 각 부동산에 관한 원하는 정보를 얻을 수있는 런타임 속성 기능을 사용합니다.

+0

컴파일러가 암시 적으로 선언 된 함수에 대해 불평하고 있습니다 ... – Moshe

+1

Nevermind는'libobjc.dylib'와'#import '에 링크해야합니다. – Moshe