2010-07-08 16 views
13

sto cambiando i componenti (in particolare, il numero e il colore dei componenti), in un UIPickerView che io chiamo pickerOne, così dopo aver apportato le modifiche, che io chiamo:UIPickerView reloadData

[pickerOne reloadData]; 

e sembra funzionare perfettamente però, sto diventando un avvertimento di compilazione:

warning: 'UIPickerView' may not respond to '-reloadData' 

Anche se questo sembra funzionare, c'è qualcos'altro che devo usare per ricaricare i dati?

Grazie

+0

Credo che la confusione derivasse da UITableView che ha reloadData ma UIPickerView non lo fa (come per le altre risposte di seguito). –

risposta

33

penso che si dovrebbe utilizzare:

reloadComponent:

o

reloadAllComponents:

+0

sì, nessun brutto avvertimento sul mio codice e funziona altrettanto bene. grazie mille –

+1

Solo una nota - reloadAllComponents non accetta un argomento. Quindi dovrebbe probabilmente leggere: reloadAllComponents. –

4

Si dovrebbe essere chiamando reloadComponent: o reloadAllComponents:.

Potrebbe esserci un privato reloadData utilizzato sotto le copertine, ma non fa parte dell'API pubblica e, pertanto, non dovrebbe essere invocato.

+0

2 risposte identiche entro 3 minuti, immagino che avrei dovuto saperlo. Grazie. –

0

Penso che dovresti usare: reloadComponent o reloadAllComponents.

Ma questi metodi sono inutili a meno che non si colleghi UIPickerViewDalegate e UIPickerViewDataSource al proprietario del file.

+0

Benvenuti in Stack Overflow. Questa domanda ha già avuto risposta con le stesse informazioni che hai scritto qui. Se vuoi aggiungere qualcosa alle loro risposte, puoi metterlo in un commento sotto di esso. :) – Emil