Objective-C设置访问器

时间:2012-06-28 15:44:21

标签: objective-c

当我在objective-C中声明一个属性时,我还添加了synthesize子句来获取访问器

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

 @implementation StoreManager
 @synthesize writeStoresTimer

我通常使用以下语法将值设置为属性

 [self setWriteStoresManager:@"Data"];

上述声明是否与self.writeStoresTimer = @“Data”相同?这也会调用set-accessor

3 个答案:

答案 0 :(得分:2)

  

以上陈述是否与self.writeStoresTimer = @“Data”相同?

是的,它完全一样。

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

- (void)setWriteStoresTimer:(NSString *)string;

然后将通过点语法调用您的自定义实现。

来自Apple reference

  

您可以将属性声明视为等同于声明两个存取方法。因此

   @property float value;
     

相当于:

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

答案 1 :(得分:2)

是。他们都做同样的事情。

来自Apple的文档:

  

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

您可以在The Objective C Programming Language

中查看完整文档

答案 2 :(得分:0)

是的,自我。并设置使用访问器 只有当你在同一个班级并且只使用指针名称

时才会出现这种情况