Sono nuovo nello sviluppo di iPhone e ho una domanda che potrebbe avere una risposta molto semplice. Sto cercando di aggiungere pulsanti a una vista e questi pulsanti sono associati a una classe personalizzata che ho definito. Quando aggiungo i pulsanti alla vista, vorrei sapere a quale classe corrispondono questi pulsanti. Questo perché quando premo il pulsante, ho bisogno di ottenere alcune informazioni sulla classe, ma il destinatario del messaggio è un'altra classe. Non sono riuscito a trovare informazioni su un errore che sto ottenendo sul web. Il problema che ho è che sto cercando di creare un NSMutableDictionary dove le chiavi sono di tipo UIButton * ed i valori sono del mio tipo personalizzato:NSMutableDictionary con UIButton * come chiavi - Sviluppo iPhone
// create button for unit
UIButton* unitButton = [[UIButton alloc] init];
[sourceButtonMap setObject:composite forKey:unitButton];
Naturalmente, il sourceButtonMap è definito nella classe e inizializzato nella funzione init come sourceButtonMap = [[NSMutableDictionary alloc] init];
l'errore che ottengo quando provo ad aggiungere il coppia chiave-valore è:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIButton copyWithZone:]: unrecognized selector sent to instance 0x3931e90'
Accade perché non posso memorizzare UIButton * come chiavi? Qualcuno può indicarmi perché sto ricevendo questo errore? Grazie a tutti,
aa
Questo è quello che ho pensato, così hai qualche suggerimento su come risolvere questo problema? Dato un UIButton, ho bisogno di ottenere la classe personalizzata che rappresenta il pulsante. Se non riesco a usare un dizionario, ci deve essere un altro modo per farlo. Non posso usare un array perché diversi UIButtons possono riferirsi allo stesso oggetto. C'è un modo per dare al pulsante l'id della classe che rappresenta? O qualcosa di simile? –