2015-02-05 4 views
0

Я работаю быстро. У меня есть определенный протокол, который имеет функцию reload. У меня есть домашний класс, который является контроллером tableview, где я расширяю протокол и реализую функцию перезагрузки. У меня есть еще один класс, где есть кнопка. На этом нажатии кнопки я устанавливаю делегат и вызывается функция перезагрузки. До этого момента он работает нормально. Теперь в функции перезагрузки я хочу, чтобы обновить домашнюю страницу, поэтому я попыталсяTableview не перезагружается после нажатия кнопки

tableview.reload() 

это не работает и приложение рушится, то я пытался дозвониться

viewDidLoad() 

это также не освежает стр. Я не хочу использовать NSNotification

что я делаю неправильно? Может кто-нибудь, пожалуйста, помогите

Заранее спасибо

+0

viewDidLoad вызывается ОС. Вы не должны называть это. Попробуйте 'view.needsDisplay = true'. Пожалуйста, покажите несколько выдержек из вашего протокола и метода перезагрузки. –

+0

Что такое сообщение об аварии? – Sunkas

ответ

0

Вы уверены, что ваши методы источника данных делегат UITableView правильно работает? Вы должны посмотреть viewDidLoad() и viewWillLoad() и т. Д. На странице справки UIViewController (Apple doc). Если вы серьезно относитесь к разработке приложений, я рекомендую, по крайней мере, потратить 15-30 минут на просмотр страниц UIViewController и UIView, чтобы ознакомиться с ними, так как вы будете использовать их все время. Вы должны знать, как они работают. Также проверьте CALayers в UIViews. Тогда вы будете лучше настроены, чтобы писать действительно приятные приложения.

0

Вы устанавливаете делегат на касание кнопки внутри события, проверьте, назначаете ли вы делегат в свой класс Home.

0

Я предполагаю, что вы имеете в виду tableview.reloadData(), что является правильным методом для перезагрузки таблицы.

Вы не должны называть viewDidLoad самостоятельно.

Смежные вопросы