当前位置:  开发笔记 > IOS > 正文

Objective-C中点符号与方法调用之间的性能差异

如何解决《Objective-C中点符号与方法调用之间的性能差异》经验,为你挑选了1个好方法。

您可以在Objective-C中使用标准点表示法或方法调用来访问Objective-C中对象的属性.

myObject.property = YES;

要么

[myObject setProperty:YES];

性能方面是否存在差异(访问财产方面)?在编码风格方面,这只是一个偏好问题吗?



1> Chris Hanson..:

Objective-C中属性访问的点表示法一种消息发送,就像括号表示法一样.就是这样:

@interface Foo : NSObject
@property BOOL bar;
@end

Foo *foo = [[Foo alloc] init];
foo.bar = YES;
[foo setBar:YES];

最后两行编译完全相同.唯一改变这一点的是,如果属性指定了一个getter和/或setter属性; 但是,它所做的只是更改发送的消息,而不是是否发送消息:

@interface MyView : NSView
@property(getter=isEmpty) BOOL empty;
@end

if ([someView isEmpty]) { /* ... */ }
if (someView.empty) { /* ... */ }

最后两行的编译都是相同的.

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有