UIPickerViewDelegate
には、データ(タイトル)を認識する必要があるメソッドが含まれているという、実際には奇妙な、または悪いデザインの決定が見つかりました。それはその全体の目的となるのでDataSource
です。これらのように:UIPickerViewデータソースxデリゲートデザイン
pickerView(_:titleForRow:forComponent:)
pickerView(_:attributedTitleForRow:forComponent:)
pickerView(_:viewForRow:forComponent:reusingView:)
私はDataSource
とDelegate
のために異なるオブジェクトでPickerView
を実装したいです。もちろん、新しいデリゲートを作成するのは簡単です(おそらくPickerViewListenerDelegate
)。しかし、リンゴがこのデザインの決定を下したので、最初に議論する価値があると思いました。
この奇妙なデザインの決定のポイントは何ですか?私はここに何かを逃していますか
テーブルビューの場合と同じように、DataSourceとDelegateと同じControllerオブジェクトを使用することがよくあります。しかし、私が見ているように、理由のために2つのプロパティがありますが、これは私のデザインが2つの異なるオブジェクトを使用する意味がありますが、 'UIPickerViewDataSource'と' UIPickerViewDelegate'という奇妙なデザインは私をそれをやって。 (私は奇妙な方法でそれらをリンクしなければならないので、 '代理人'はタイトルを知っている。 –