我习惯于为几乎所有东西创建属性。给定的可能太多了。我也使用实例变量,但我不使用 self->myvar
引用它们,而只是使用 myvar
。
我最近接触到一段使用大量 self->
的代码,我会在其中使用一个属性。当我说我使用 @property
(保留)的原因之一是因为我不想显式保留我的对象时,有人告诉我我很“懒惰”。这可能是真的,但我也想避免我忘记保留的错误。
总的来说,你们对 Cocoa 代码中的 ->
有什么看法?
最佳答案
懒惰是一种美德。
我在 copyWithZone:
中使用 ->
来访问副本的实例变量。 (我不在这里使用属性访问器的原因与我不在 init
或 dealloc
中使用它们的原因相同——它们可能会触发副作用,这在一半时会很糟糕-initialized copy。)我也在这种情况下使用 self->
因为我喜欢这样的方式:
other->foo = [self->foo copy];
other->bar = [self->bar copy];
other->baz = self->baz; //Non-object or object not owned (may be omitted entirely in the latter case)
我想不出我在对象上使用 ->
的另一个上下文。
关于objective-c - 在 Cocoa 中使用 ->,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4736625/