物业,iVar,存取方法......?

时间:2012-10-04 10:13:07

标签: iphone ios properties

我有几个我在其中设置属性的类。

e.g。一个名为MyDetailCell的类,其子类为UITableViewCell

在其中我有一个类似......的财产。

@property SomeClass *someValue;

最初我使用它并将其存储在setter函数中......

- (void)setSomeValue:(SomeClass*)someValue
{
    _somValue = someValue;

    //do something with the _someValue object like changing text or something...
}

无论如何,我认为我实际上并不需要存储发送的值,所以我只是这样做...

- (void)setSomeValue:(SomeClass*)someValue
{
    //do something with the _someValue object like changing text or something...
}

然后我改为我刚刚将二传手转发到子视图的地方。像这样......

- (void)setSomeValue:(SomeClass*)someValue
{
    self.someSubView.someValue = someValue;
}

所以现在我不知道该用什么。我现在根本没有保存这个属性所以我想我真的不需要它。我不需要访问它来获取值,我只需要设置它。

目前我已经把房产留在了那里。

  • 那可以吗?
  • 这是不好的做法吗?
  • 我是否应该仅针对setter方法更改它?
  • 这样做有什么好处?

1 个答案:

答案 0 :(得分:1)

  

可以吗?

没有

  

这是不好的做法吗?

  

我应该改为仅仅是一个setter方法吗?这样做有什么好处?

我不明白你的意思。你写了'只是一个setter方法',你也在setter方法中做了一些处理,这很好,但是你做错了其他的事情。一个是你不保留非委托对象 - 你应该。你没有提供一个吸气剂 - 这也是一个破碎的概念。可以有readonly和readwrite属性,但不能只写属性。