当我在objective-C中声明一个属性时,我还添加了synthesize子句来获取访问器
@interface StoreManager ()
@property (nonatomic, copy) NSString *writeStoresTimer;
@implementation StoreManager
@synthesize writeStoresTimer
我通常使用以下语法将值设置为属性
[self setWriteStoresManager:@"Data"];
上述声明是否与self.writeStoresTimer = @“Data”相同?这也会调用set-accessor
答案 0 :(得分:2)
以上陈述是否与self.writeStoresTimer = @“Data”相同?
是的,它完全一样。
实际上,如果要覆盖自动合成的默认setter方法,请定义:
- (void)setWriteStoresTimer:(NSString *)string;
然后将通过点语法调用您的自定义实现。
您可以将属性声明视为等同于声明两个存取方法。因此
@property float value;
相当于:
- (float)value; - (void)setValue:(float)newValue;
答案 1 :(得分:2)
是。他们都做同样的事情。
来自Apple的文档:
中查看完整文档Objective-C提供了一个dot(。)运算符,它提供了一个替代方法 方括号表示法([])用于调用存取方法。点语法 使用与访问C结构元素相同的模式:
答案 2 :(得分:0)
是的,自我。并设置使用访问器 只有当你在同一个班级并且只使用指针名称
时才会出现这种情况