Objective-C 方法调用语法疑惑,求解答

【字号: 日期:2023-12-16浏览:48作者:雯心

问题描述

NSArray *arr = @[@'Helo', @'Word'];

NSLog(@'%d', (int) arr.count); // 1. 什么情况下这样调用方法?

NSUInteger count = [arr count]; // 2. 什么情况下这样调用? 似乎两者均可NSLog(@'%lu', (unsigned long)count);

问题解答

回答1:

@testHs 的说法欠准确。点语法用来访问属性的存取方法(getter和setter),setter方法显然是要传入参数的。方式为object.propertyName = something点语法能做到的[]都能做到(反之未必),只不过点语法更便捷。

回答2:

两者皆可。在用[]的时候是可以传参进去的,但是.的时候不能传参。

相关文章: