gpt4 book ai didi

iphone - Objective-C 属性 - 使用 [self myProperty] 或 self.myProperty 是否比 myProperty 慢?

转载 作者:太空狗 更新时间:2023-10-30 03:57:17 26 4
gpt4 key购买 nike

我正在使用 Objective-C 属性来为我处理保留/释放实例变量。在我的类里面,我正在做这样的事情:

self.myProperty = somethingIWantToRetain
[self.myProperty doSomeAction]
[self.myProperty doSomethingElse]

对于那些我没有更改 myProperty 值的行,使用 [self myProperty]/self.myProperty 是否比简单地使用 myProperty 慢?例如,以下会更快吗?

self.myProperty = somethingIWantToRetain
[myProperty doSomeAction]
[myProperty doSomethingElse]

谢谢

最佳答案

几乎可以肯定它会慢一点,但这不太重要。

直接引用您的 ivar(使用裸 myProperty)直接访问变量。引用您的属性 getter (具有等效的 self.myProperty[self myProperty])必须调用一个方法,该方法通常会执行 retainautorelease 在你的 ivar 上。

然而,Objective-C 中的方法分配非常非常快,并且保留/自动释放调用也非常便宜,特别是对于那些在自动释放池被清除时可能不会被销毁的对象。我会专注于可读性和一致的风格,只有当你清楚地知道你有性能瓶颈需要追逐时才担心这里的性能。

关于iphone - Objective-C 属性 - 使用 [self myProperty] 或 self.myProperty 是否比 myProperty 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6701365/

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