我想使用类别使原始类上的方法也可用作属性。
A 类:
@interface ClassA
- (NSString*)foo;
@end
A类类别
@interface ClassA (Properties)
- (void)someCategoryMethod;
@property (nonatomic, readonly) NSString *foo;
@end
现在,当我这样做时,它似乎起作用了(编辑: 也许它不起作用,它没有提示,但我看到了奇怪的东西),但它给了我警告,因为我没有在我的类别实现中综合属性。我如何告诉编译器一切都很好,因为原始类为我合成了属性?
最佳答案
这是您收到的警告:
警告:属性“foo”需要定义方法“-foo”——使用@synthesize、@dynamic 或提供方法实现
要抑制此警告,请在您的实现中使用:
@dynamic foo;
关于Objective-C 类别 : Can I add a property for a method not in my category?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520889/