我会假设......不。但如果不是......那就不好了。
NSStringFromClass(SomeClass)
@interface Class (ToString)
@property (readonly) NSString* stringValue;
@end
@implementation Class (ToString)
- (NSString*) stringValue { return NSStringFromClass(self); }
@end
然后使用......
SomeClass.stringValue
我确信meta-heirarchy阻止这种情况有一个很好的理由(虽然它说Class
es {和Protocols
和Methods
时似乎是半真半假的等等 - 确实是“真实的”Objects
)...当很多“{1}} NSObject
的”东西“无法在”元类“上执行时。
任何人都可以了解这种功能差异/提供替代方案(即Object
可能会取得类似结果吗?
答案 0 :(得分:4)
由于元类的实例方法只是非元类的类方法,为什么不简单地在原始(非元)类上添加类别?
@implementation NSObject (Name)
+ (NSString *)className
{
return NSStringFromClass(self);
}
@end