gpt4 book ai didi

iphone - 属性、iVar、访问器方法...?

转载 作者:行者123 更新时间:2023-11-29 04:23:01 24 4
gpt4 key购买 nike

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

例如一个名为 MyDetailCell 的类,它是 UITableViewCell 的子类。

其中我有一个类似于......的属性(property)

@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...
}

然后我更改为将 setter 传递到 subview 的位置。像这样...

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

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

目前我已将特性保留原样。

  • 可以吗?
  • 这是不好的做法吗?
  • 我应该将其更改为仅 setter 方法吗?
  • 这样做有什么好处?

最佳答案

Is that OK?

没有。

Is it bad practice?

是的。

Should I change it for a just a setter method instead? What are the benefits of doing that?

我不明白你的意思。你写了“只是一个setter方法”,并且还在setter方法中做了一些处理,这很好,但是你做错了其他事情。一是您不保留非委托(delegate)对象 - 您应该保留。你不提供 setter/getter ——这也是一个错误的概念。可以有只读和读写属性,但不能有只写属性。

关于iphone - 属性、iVar、访问器方法...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12725038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com