Sto passando da iOS a Cocoa e sto cercando di confondere i miei primi programmi. Ho pensato che sarebbe stato semplice aggiungere uno NSComboBox
al mio modulo, beh quella parte era. Ho aggiunto <NSComboBoxDelegate, NSComboBoxDataSource>
alla mia interfaccia, due callback di dati, e il notificante:Programmazione cacao, impostazione del delegato
@interface spcAppDelegate : NSObject <NSApplicationDelegate,
NSComboBoxDelegate, NSComboBoxDataSource>
- (id)comboBox:(NSComboBox *)aComboBox objectValueForItemAtIndex:(NSInteger)index;
- (NSInteger)numberOfItemsInComboBox:(NSComboBox *)aComboBox;
- (void)comboBoxSelectionDidChange:(NSNotification *)notification;
@end
io controllo trascinato la casella combinata al delegato app (che è l'unica classe a mio semplice applicazione di default) e cablato il delegato e dei dati fonte ma nessuno di quegli eventi ha sparato. Pensavo che il delegato dell'app fosse corretto ma, poiché non ha funzionato, ho provato anche "proprietario di file" e "applicazione". Non pensavo che funzionassero e loro no.
Qual è il modo corretto per cablare il delegato/origine dati per un NSComboBox
in un'app Cocoa?
Grazie!
Quando si dice "non è scattato," che cosa stai facendo per testarlo? Punto di interruzione nel debugger? NSLog? – user1118321
Per "non ha sparato" intendo che ho aggiunto i metodi delegati e impostato un punto di interruzione in essi che non è stato raggiunto. Probabilmente stai pensando che abbia senso che i due metodi dati non siano stati raggiunti ma che comboBoxSelectionDidChange avrebbe dovuto essere raggiungibile. Di nuovo colpa mia perché avevo cablato quell'evento in modo errato. Quindi in realtà avevo due propblems ma la correzione primaria si stava rendendo conto che c'era una (nuova?) Casella di controllo per indicare che stavo usando un'origine dati. Grazie :) – simusid