2010-07-08 29 views
13

estoy cambiando componentes (en particular, el número y el color de los componentes), en un UIPickerView que llamo pickerOne, por lo que después de hacer los cambios, me llaman:UIPickerView reloadData

[pickerOne reloadData]; 

y parece estar trabajando perfectamente sin embargo, yo estoy haciendo una advertencia de compilación:

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

Aunque esto parece funcionar, ¿hay algo más que debo utilizar para recargar los datos?

Gracias

+0

Creo que la confusión provino de UITableView que tiene reloadData pero UIPickerView no (según las respuestas de los demás a continuación). –

Respuesta

33

creo que se debe utilizar:

reloadComponent:

o

reloadAllComponents:

+0

yup, no hay una advertencia fea en mi código y funciona igual de bien. muchas gracias –

+1

Solo una nota - reloadAllComponents no acepta un argumento. Por lo tanto, probablemente debería leer: reloadAllComponents en su lugar. –

4

Debe estar llamando reloadComponent: o reloadAllComponents:.

Puede haber un reloadData privado usado debajo de las fundas, pero no es parte de la API pública y, por lo tanto, no se debe confiar en él.

+0

2 respuestas idénticas en 3 minutos, supongo que debería haber sabido esto. Gracias. –

0

Creo que deberías estar usando: reloadComponent o reloadAllComponents.

Pero estos métodos son inútiles a menos que conecte UIPickerViewDalegate y UIPickerViewDataSource al propietario del archivo.

+0

Bienvenido a Stack Overflow. Esta pregunta ya ha sido respondida con la misma información que usted ha escrito aquí. Si desea agregar algo a sus respuestas, puede ponerlo en un comentario debajo de él. :) – Emil