【发布时间】:2013-04-30 02:45:14
【问题描述】:
@interface Person : NSObject
@property(nonatomic, assign) CGFloat salary;
@end
@implementation Person
- (void)addSalary:(CGFloat)s
{
_salary += s; **//method 1**
self.salary += s; **//method 2**
}
@end
我想知道方法 1 和 2 之间哪个更有效? 编译器是否会做一些优化工作以使它们具有相同的性能?
【问题讨论】:
-
这个问题不是关于 self.ivar 和 ivar 之间的性能。有人建议使用 self.ivar,它在非 ARC 环境中是有意义的。如果采用 ARC,即使是 id 实例,ivar 也不会带来内存泄漏。所以我想知道性能是否相同? “访问器在 Objective-C 中进行了高度优化,并提供了可维护性和灵活性的重要特性。作为一般规则,您应该使用它们的访问器来引用所有属性,甚至是您自己的。”来自 > .
标签: ios objective-c performance