Objective-C集存取器

Objective-C集存取器,objective-c,Objective C,在objective-C中声明属性时,我还添加了synthesis子句以获取访问器 @interface StoreManager () @property (nonatomic, copy) NSString *writeStoresTimer; @implementation StoreManager @synthesize writeStoresTimer 我通常使用以下语法为属性设置值 [self setWriteStoresManager:@"Data"]; 上述语句是

在objective-C中声明属性时,我还添加了synthesis子句以获取访问器

 @interface StoreManager ()
 @property (nonatomic, copy) NSString *writeStoresTimer;

 @implementation StoreManager
 @synthesize writeStoresTimer
我通常使用以下语法为属性设置值

 [self setWriteStoresManager:@"Data"];
上述语句是否与self.writestrestimer=@“Data”相同?这也会调用set访问器吗

上述语句是否与self.writestrestimer=@“Data”相同

是的,完全一样

实际上,如果要覆盖自动合成的默认setter方法,可以定义:

- (void)setWriteStoresTimer:(NSString *)string;
然后通过点语法调用自定义实现

发件人:

您可以认为属性声明等同于声明两个访问器方法。因此

   @property float value;
相当于:

   - (float)value;
   - (void)setValue:(float)newValue;
上述语句是否与self.writestrestimer=@“Data”相同

是的,完全一样

实际上,如果要覆盖自动合成的默认setter方法,可以定义:

- (void)setWriteStoresTimer:(NSString *)string;
然后通过点语法调用自定义实现

发件人:

您可以认为属性声明等同于声明两个访问器方法。因此

   @property float value;
相当于:

   - (float)value;
   - (void)setValue:(float)newValue;

是的,我自己。set使用访问器
唯一一次你不这样做的时候是当你在同一个类中并且只使用指针名称时。set使用访问器
唯一一次你不需要的是当你的指针在同一个类中时,只需要使用指针名称就可以了。他们都做同样的事情

从苹果的文档中:

Objective-C提供了一个点(.)运算符,它提供了一种替代 方括号符号([])来调用访问器方法。点语法 使用与访问C结构元素相同的模式:


您可以在

是中查看完整文档。他们都做同样的事情

从苹果的文档中:

Objective-C提供了一个点(.)运算符,它提供了一种替代 方括号符号([])来调用访问器方法。点语法 使用与访问C结构元素相同的模式:


您可以在回答的问题中查看完整的文档。谢谢大家,请回答。谢谢大家