나는 ...이라고 생각합니다. 그러나 이후Objective-C 메타 클래스에 카테고리를 추가 할 수 있습니까?
NSStringFromClass(SomeClass)
당신이 할 수 ...
@interface Class (ToString)
@property (readonly) NSString* stringValue;
@end
@implementation Class (ToString)
- (NSString*) stringValue { return NSStringFromClass(self); }
@end
및 사용 ...
SomeClass.stringValue
난 ... 경우 대신 좋지 않을까 meta-heirarchy가 이것을 막을 수있는 좋은 이유가 있음을 확신 할 수 있습니다. (반 진실 인 것처럼 보이지만 Class
(그리고 Protocols
및 Methods
등)은 실제로 "진짜"Objects
입니다 ... NSObject
을 Object
으로 만드는 많은 "물건"이 "메타 클래스"에서 수행 될 수없는 경우.
사람은 /는 대안을 제공하는이 기능 차이에 빛을 흘릴 수 (즉, resolveClassMethod:
유사한 결과를 얻을 수있는 그?
프로토콜 및 방법있다 **하지 ** 객체를 –
을 프로토콜 클래스는 거의 사용되지 않습니다 사용 @alexgray :?. HTTP : // 오픈 소스 .apple.com/source/objc4/objc4-551.1/runtime/Protocol.h 전체 헤더가'#if __OBJC2__'로 묶입니다. –