gpt4 book ai didi

ios - [array count] 和 array.count 在 Objective-C 中有什么区别

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:21:44 24 4
gpt4 key购买 nike

如果我想知道 NSArray 的大小,我可以使用两种类似的方法:

NSArray *arr = @[@"1", @"2"];
NSInteger i = [arr count];
NSInteger j = arr.count;

那么这两种方式有什么区别呢?会有任何性能差异吗?非常感谢

最佳答案

用 [arr 计数];您将消息计数发送到数组对象。

如果arr.count出现在某个表达式的右边,就是调用count属性的getter,和[arr count]基本一样;

如果 object.someProperty 出现在某个表达式的左边,则调用的是 count 属性的 setter,这与 [object setSomeProperty:someValue] 基本相同。

因为 getter 的语法和向对象发送消息表示属性的相同内容(当位于表达式的右侧时),编译器允许您使用 . (dot) 语法,即使紧跟在点之后的名称不一定是属性的 getter(例如 count 是 NSArray 类的方法,但如果您使用 [arr count] 或 arr,编译器不会报错。计数)。

关于ios - [array count] 和 array.count 在 Objective-C 中有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25175484/

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