UIPickerView: в экземпляр отправлен нераспознанный селектор - только на ios 3.1.x

У меня есть UIViewController с UIPickerView. Как и следовало ожидать, источником данных и делегатом сборщика является мой контроллер.

Мой контроллер реализует протоколы UIPickerViewDelegate и UIPickerViewDataSource и все необходимые методы: numberOfComponentsInPickerView, numberOfRowsInComponent, titleForRow и didSelectRow

Все это хорошо работает на ios 4, но падает на 3.1 с хорошим "unrecognized selector sent to instance", как только я вызываю [picker reloadInputViews] (он даже не достигает точек останова в методах делегата или источника данных).

Я не вижу, чего здесь не хватает (с удовольствием опубликую код)

Большое спасибо за вашу помощь!


person Johann    schedule 28.03.2011    source источник
comment
обычно он сообщает вам, какой объект и какой селектор вы использовали в строке с нераспознанным селектором, отправленным в экземпляр. Пожалуйста, разместите это.   -  person Matthias Bauch    schedule 28.03.2011


Ответы (1)


Вы должны позвонить [picker reloadAllComponents]. reloadInputViews — это метод UIResponder, доступный только начиная с iOS 3.2. По крайней мере, согласно документации. Который вы должны прочитать.

person mvds    schedule 28.03.2011
comment
В точку спасибо! Кстати, я прочитал документ (спасибо за лекцию), но так и не смог найти проблему. Думали ли вы, что если бы все знали всю документацию, вам не понадобился бы stackoverflow? Я действительно думаю, что часто бывает быстрее найти ответ в Google, чем читать скучную документацию. Плюс это принесло тебе 25 баллов ;-) - person Johann; 28.03.2011
comment
Ну.. Я подключил reloadInputViews к мифическому гуглу и вуаля, наверху вышла страница с надписью начиная с 3.2. Но я должен признать, что документы iOS могут быть трудны для понимания. В любом случае хорошо, что вы решили эту проблему, для этого мы здесь ;-) - person mvds; 29.03.2011