搜尋

首頁  >  問答  >  主體

Objective-C 方法呼叫語法疑惑,求解答

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

NSLog(@"%d", (int) arr.count); // 1. 什麼情況下會這樣呼叫方法?

NSUInteger count = [arr count]; // 2. 什麼情況下會這樣呼叫? 似乎兩者皆可
NSLog(@"%lu", (unsigned long)count);

PHP中文网PHP中文网2766 天前295

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-04-24 09:14:19

    @testHs 的說法欠準確。
    點語法用來存取屬性的存取方法(getter和setter),setter方法显然是要传入参数的。方式为object.propertyName = something
    點文法能做到的[]都能做到(反之未必),只不過點文法更便捷。

    回覆
    0
  • 阿神

    阿神2017-04-24 09:14:19

    兩者皆可。
    在用[]的時候是可以傳參進去的,但是.的時候不能傳參。

    回覆
    0
  • 取消回覆