Apple が提供するSimpleStocksサンプル コードでは、dataSource は次のように定義されています。
property (nonatomic, weak) IBOutlet id <APLSimpleStockViewDataSource> dataSource;
そして、次のようにさまざまに使用されます(例は2つだけですが、コードにはさらにあります)
NSInteger dataCount = [self.dataSource graphViewDailyTradeInfoCount:self];
NSArray *sortedMonths = [self.dataSource graphViewSortedMonths:self];
私はgraphViewDailyTradeInfoCountが何をするかを理解しています.graphViewSortedMonths.Iは理解していたでしょうNSInteger dataCount = [APLStockViewController graphViewDailyTradeInfoCount:self];
:
問題は次のとおりです。コードの 1 行目を読むと、dataSource にメッセージ graphViewDailyTradeInfoCount が送信されています (これは、発生したトランザクションの数を示す数値を返します)。25 トランザクションを想定すると、基本的に [dataSource 25]; どこかに、送信されている 25 をどう処理するかを dataSource に指示するコードがあることを強く期待しているためです。でも無い!!!
次に、途方もないことが桁違いに増加します。dataSource に 25 が送信されると、それが返されて dataCount に入れられます。それを行うことをどのように知っているのですか、それを見つけることができるコードはどこにもありません。
コードの 2 行目で、dataSource は NSArray を受け入れる (そして返す) ことを知っています。
めったにない正気の瞬間に、 dataSource は、渡されたものを「パススルー」する以外に何もしないように見えます。コンピューターは魔法を使うことはできません。それは機能のように感じますが、どこに文書化されていますか?
ありがとう!