Objective-C 类别 : Can I add a property for a method not in my category?

标签 objective-c properties categories

我想使用类别使原始类上的方法也可用作属性。

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/

相关文章:

iOS 以编程方式截取屏幕截图会弄乱图像

ios - 向 UIButton 添加 subview

python - getter 和 setter 的属性装饰器

php - Sonata Admin - 更改订单父类别

ios - 如果我们使用 GCD,我们需要声明一个属性 atomic 吗?

ios - MoPub 如何使用具有动态单元格高度的 MPTableViewAdPlacer 实现 iOS 原生广告?

c# - 如何实现 DateTime 实体属性以始终设置 DateTime.Now

JavaScript:无法访问对象属性

WordPress 不同类别的自定义菜单

Wordpress - 排除某个类别出现在菜单或侧边栏小部件中