以下は、Apple 独自の SimpleStocks サンプル コードからの 2 行のコードです ( APLSimpleStockView.m) 。
NSInteger dataCount = [self.dataSource graphViewDailyTradeInfoCount:self];
NSArray *sortedMonths = [self.dataSource graphViewSortedMonths:self];
上記の最初のコード行は、「dataSource」がメッセージの受信者であるように見えますgraphViewDailyTradeInfoCount:self(これは を返しますNSInteger)。
上記のコードの 2 行目は、"dataSource" がメッセージの受信者になっているように見えますgraphViewSortedMonths:self(これは を返しますNSArray *)。
私が見つけることができるdataSourceへの唯一の参照(でAPLSimpleStockView.h)は、オブジェクト/クラスのインスタンスではなく、プロパティですか?プロパティにメッセージを送信できるのはなぜですか? プロパティの値の取得と設定しかできないと思っていましたか?
コードの最終結果は、行 1 の後dataCountに数字が含まれ、行 2 の後sortedMonthsにソートされた月名の配列が含まれることです。dataSourceしかし、メッセージが送信されたときに何かが返されるサンプルの場所が見つからないため、この動作はどこから来たのでしょうか。
self.dataSourceここでゲッターとセッターの両方として機能していますか?