У меня есть приложение Navigation для iPhone, и его контроллер «второго уровня» в настоящее время является UIViewController, чье перо содержит UIView. Я выделил место в верхней части UIView для панели навигации, а затем добавил внизу панель инструментов, на которой я поместил кнопку обновления, метку и индикатор активности. И последнее, но не менее важное: я ставлю табличное представление посередине.
Я подключил все между контроллером и пером и заставил владельца файла подключиться к UIView и источнику данных и делегировать UITableView, содержащийся в UIView, для ссылки на владельца файла, и все работает нормально.
Но я не могу понять, как заставить табличное представление обновляться.
Я подумал, что могу просто вставить это в код, где я хочу обновить таблицу:
[self.tableView reloadData];
Но если мой контроллер второго уровня не является UITableViewController, эта строка кода не будет компилироваться. Когда я делаю свой контроллер второго уровня UITableViewController, мое приложение взрывается, когда загружается контроллер второго уровня, потому что владелец файла не обращается к контроллеру табличного представления, и когда я заставляю владельца файла обращаться к выходу табличного представления вместо вид, все работает, за исключением того факта, что моя панель инструментов внизу вместе с ее надписью и кнопкой обновления больше не отображаются.
Я также попытался просто добавить
[self refresh];
вместо [self.tableview reloadData], но код застревает в цикле, обновляя себя.
Как я могу заставить все это работать? Я думаю, что мне нужно оставить свой контроллер второго уровня как UIViewcontroller, но я все еще хочу иметь возможность получить UITableView, который он содержит, для обновления себя, когда я этого хочу.