Wenn ich einen View-Controller, die zwei Protokolle implementiert:XCode/IOS Delegierten
@interface CustomerOperationsViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate
>
Gibt es eine einfache Möglichkeit, die erforderlichen Rückrufe für die Protokolle zu erstellen? Vielleicht eine XCode-Verknüpfung für Implementierungsmethoden? Ich gehe jedes Mal zur Dokumentation.
Verwandte, ist es möglich, den Delegaten in eine andere Datei als den Eigentümer der Datei zu setzen? Ich sehe nicht, wie man vom Benutzeroberflächenelement in eine andere Klasse als den Dateieigner zieht ...
Ich dachte, es in einer separaten Datei ähnlich dem ApplicationDelegate sauberer sein würde. Ich denke jedoch, dass dies keine Best Practice ist, da Sie dann keinen einfachen Zugriff auf die anderen Ausgänge haben, die im View-Controller konfiguriert sind. z.B. Ich bin am besten, nur Delegierte auf den View-Controller zu setzen? –
Und ja, ich vermisse IntelliJ :) –
Es ist normalerweise am besten, die Delegierten in den View-Controller zu legen, siehe Apples Vorlage UITableViewController-Datei. Aber Sie könnten sicherlich eine andere Klasse oder ein anderes Objekt verwenden, es ist einfach nicht etwas, das ich regelmäßig gemacht habe - und wenn ich es getan habe, habe ich IB nicht verwendet, um die Eigenschaft delegate zu setzen. Wenn Sie streng MVC sind, würden Sie den Delegaten in einen View-Controller stellen, zB im Fall von UIPickerView: Der PickerView selbst ist in Ihrer * Ansicht *, und die Kontrolle darüber, was in diesem Picker angezeigt wird, geht in Ihren * Controller * (mit den Daten im * Modell *, die für eine Pickerview möglicherweise keine separate Klasse sein). – lxt