属性,iVar,存取方法...?
问题描述:
我有几个类,我设置属性英寸属性,iVar,存取方法...?
例如,一个名为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方法吗?
- 这样做的好处是什么?
答
这样好吗?
号
它是不好的做法?
是的。
我应该改变它只是一个setter方法吗?这样做有什么好处?
我不明白你的意思。你写了'只是一个setter方法',你也在setter方法中做了一些处理,这很好,但你做了其他的事情是错误的。一个是你不保留一个非委托对象 - 你应该。你不提供一个吸气 - 这也是一个破碎的概念。可以有readonly和readwrite属性,但不能只写属性。
对不起,我的意思是我应该用公共方法来替换该属性。该属性使用默认值(即强)。 getter和setter方法不必被覆盖。 – Fogmeister
@fogmeister你可以做到这一点,没有什么特别的,真的。 – 2012-10-04 10:36:11