ios – getter和setter not working objective c

ios – getter和setter not working objective c,第1张

概述我不能在目标c中这样做吗? @interface Foo : NSObject { int apple; int banana; }@property int fruitCount;@end@implementation Foo@synthesize fruitCount; //without this compiler errors when t 我不能在目标c中这样做吗?

@interface Foo : NSObject {     int apple;     int banana;         }@property int fruitCount;@end@implementation Foo@synthesize fruitCount; //without this compiler errors when trying to access fruitCount-(int)getFruitCount {      return apple + banana;}-(voID)setFruitCount:(int)value {      apple = value / 2;      banana = value / 2;}@end

我正在使用这样的类:

Foo *foo = [[Foo alloc] init];foo.fruitCount = 7;

然而,我的getter和setter没有被调用.如果我改为写:

@property (getter=getFruitCount,setter=setFruitCount:) int fruitCount;

我的getter被调用但是setter仍然没有被调用.我错过了什么?

解决方法 你的语法有点偏……
要在示例中为属性访问器定义自己的实现,请使用以下命令:

@implementation Foo@dynamic fruitCount;-(int)fruitCount {   return apple + banana;}-(voID)setFruitCount:(int)value {      apple = value / 2;      banana = value / 2;}@end

使用@synthesize告诉编译器创建默认访问器,在这种情况下你显然不需要. @dynamic向编译器表明你将编写它们.以前在Apple的文档中有一个很好的例子,但它在4.0 SDK更新中以某种方式被破坏了…希望有所帮助!

总结

以上是内存溢出为你收集整理的ios – getter和setter not working objective c全部内容,希望文章能够帮你解决ios – getter和setter not working objective c所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1078187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存