добавить новый элемент в табличном представлении: недоразумение - PullRequest
0 голосов
/ 13 июля 2011

Что-то я не понимаю в табличных представлениях: как добавить новый элемент в табличное представление.

Вот что я делаю: когда я нажимаю кнопку «+», появляется модальный контроллер, мы вводим новый элемент, и представление таблицы должно быть отредактировано, с новым элементом внизу. В rootViewController я присоединяю изменяемый массив tableWebsites к модальному viewcontroller, поэтому у нас есть копия изменяемого массива, и мы можем добавить новый элемент в конце этой копии:

ModifViewController *addView = [[ModifViewController alloc] initWithNibName:@"ModifViewController" bundle:nil];  
addView.tabWebSites = self.tabWebSites;  

И, наконец, в rootViewController мы говорим:

[self.tableView reloadData];

Таким образом, мы скопировали изменяемый массив в RootView ... для редактирования в ModifView ... но как табличное представление узнает, что таблица изменяемого массиваWwebsites, отредактированная в ModifView ... - это та, которая должна "заполнять" табличное представление ? потому что у нас есть таблица сайтов в RootView ... и еще одна таблица сайтов в ModifView ... для ее редактирования. Так что я думаю: даже если мы скажем «reloadData», он перезагрузит тот же изменяемый массив в RootView.

Ты понимаешь, о чем я? Прошу прощения, если это беспорядок, у меня проблемы с тем, чтобы прояснить ситуацию;) Спасибо за ваш ответ.

Пол

Ответы [ 2 ]

1 голос
/ 13 июля 2011

Объекты UITableView фактически запрашивают у источников данных значения для отображения, а также количество секций и т. Д. Отправка reloadData в табличное представление заставит его повторно запросить эти значения.

Так что я думаю, что независимо от того, с каким массивом источник данных выбирает значения, но эти методы должны всегда возвращать правильное значение.

Полезные ссылки:

Руководство по программированию в табличном представлении

Ссылка на класс UITableView

Ссылка на протокол UITableViewDataSource

0 голосов
/ 13 июля 2011

Вы используете метод numberOfRowsInSection. Возвращает количество строк. См. Этот метод. Использовали ли вы [tabWebSites count]? Таким образом, после добавления значения в массив и когда вы снова вернетесь к Rootviewcontroller и выполните [self.tableView reloadData]. Он снова выполнит все методы TableView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...