2011-12-20 3 views
0

Хьюстон, у меня есть проблема, над которой я работаю в течение 5 дней и не могу ее исправить: Итак, я работаю над приложением, которое имеет tabBarController. На первой вкладке есть tableViewController с некоторыми объектами. И когда я нажимаю cell, я поворачиваюсь к форме с кнопкой в ​​ней. И когда я нажимаю эту кнопку, она сохраняет заголовок navigationBar, который находится сверху (так что он сохраняет заголовок ячейки, которую вы нажали). Затем, когда я перехожу на другую (вторую) вкладку, мы видим вид с tableView. И то, что я ожидаю увидеть в ячейке, - это заголовок navBar (или ячейки) с первой вкладки. НО вместо этого я вижу в этой таблицеView ВСЕ объекты из первого tableView, но не тот, который я сохранил.plist and TableView

Вот мой код: https://gist.github.com/1501328

Итак, еще раз: Первая вкладка имеет tableViewController. Когда я нажимаю случайную ячейку, я перехожу к другому виду с кнопкой на ней. Когда я нажимаю кнопку, я сохраняю заголовок navBar, поэтому он совпадает с именем ячейки, которое я использовал. И когда я перехожу на вторую вкладку, я вижу в ней представление с табличным представлением, и я хочу видеть сохраненный заголовок в ячейке, но я вижу ВСЕ объекты из первой вкладки tableView.

От отчаяния, пожалуйста, помогите мне в сообществе stackoverflow! ! !

ответ

0

Причина, по которой вы получили тот же контент в двух табличных представлениях, скорее всего, потому, что они имеют одинаковые dataSource.

Если один и тот же объект предназначен для представления данных из двух (или более) табличных представлений, то вы должны внести разницу в методы делегата и источника данных (используя параметр tableView).
Проверьте, сохранена ли информация заголовка в нужном месте, а затем дважды проверьте методы делегирования и источника данных и убедитесь, что они делают разницу между представлениями таблицы при возвращении числа строк и ячеек.

Если нет, то установите соответствующие delegate и dataSource для табличных представлений, отображающих неправильные значения.

При взгляде на код только Favorites соответствует протоколам делегирования и источника данных, является ли этот объект делегатом и источником данных для обеих таблиц? Ничто в этих методах не заботится об этой разнице ...

+0

Спасибо Винсу! Честно говоря, я об этом не думал. Но не могли бы вы сказать мне, пожалуйста, как я могу проверить, есть ли у них один и тот же источник данных и как я могу внести изменения в методы делегата и источника данных? – Cosinus

+0

все эти методы предоставляют первый параметр типа 'UITableView *', который представляет собой представление таблицы с запросом информации. Например: '(NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: (NSInteger) section'. Сделайте разницу с ссылкой 'tableView'. Чтобы проверить, имеют ли они один и тот же источник данных и/или делегат, я бы сказал, что вы должны это знать, потому что вы их установили, я в IB или в вашем коде ... –

+0

Хорошо, спасибо! – Cosinus

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