gpt4 book ai didi

objective-c - 在Obj-C中创建Properties,默认的Getter怎么写?

转载 作者:行者123 更新时间:2023-12-03 17:05:38 25 4
gpt4 key购买 nike

我刚刚开始学习 Objective-C,我想要学习的一件事是良好的属性使用。我目前正在尝试使用自定义 setter 创建一些属性。这就是我已经走了多远:

@interface MyClass : NSObject
@property (nonatomic, assign) int myNumber;
@end

@implementation MyClass
@dynamic myNumber;

- (int)myNumber {
return ???;
}

- (void)setMyNumber:newNumber {
myNumber = newNumber;
// custom stuff here
}

我真的只是想实现一个自定义的setter,我对默认的getter很满意。但是,如何直接访问该变量呢?如果我输入“return self.myNumber”,那不是会调用getter方法并无限循环吗?

最佳答案

仅当使用x.p 表示法时才会调用属性访问函数。您只需使用 p 即可访问支持该属性的实例变量(在 Objective C 中,所有成员都在作用域内具有类实例变量)。如果您确实愿意,也可以通过指针引用符号 -> 进行访问。因此,这两个中的任何一个:

return p;

return self->p;

但是,您不需要在此处使用@dynamic@synthesize 很聪明,如果您没有提供默认值,它只会创建默认值。所以请随意

@synthesize p;

在本例中,这将创建 getter,但不会创建 setter。

关于objective-c - 在Obj-C中创建Properties,默认的Getter怎么写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com