Добавление строк в UItableview и передача данных между Viewcontrollers - PullRequest
0 голосов
/ 15 мая 2010

У меня есть список веб-сайтов в списке, когда приложение загружает это заполняет табличное представление (которое находится внутри контроллера навигации)

Но я добавил кнопку добавления на панель навигации, а затем создал другой View Controller для обработки ввода нового веб-сайта (например, заголовок и URL). Это очень похоже на то, как выглядит приложение контактов. Существует табличное представление, и когда вы нажимаете кнопку добавления, пользовательский интерфейс добавления перемещается вверх. До сих пор у меня все отлично работает.

Моя проблема в том, что происходит, когда пользователь нажимает Готово. Я могу добавить сайт в список (каждый сайт представляет собой словарь в списке с 2 ключами, атм) Но тогда как мне сказать tableView для обновления? Табличное представление не было удалено из главного окна, только добавленное представление было добавлено сверху "экрана".

Другой способ задать вопрос - при нажатии Сохранить на экране добавления контакта: (не мое изображение)

http://www.iphone -recovery.com / wp-content / uploads / 2008/01 / jcontact.jpg http://www.iphone -recovery.com / wp-content / uploads / 2008/01 / jcontact.jpg

Как данные нового контакта (данные Xyz) отображаются в виде таблицы?

Ответы [ 2 ]

1 голос
/ 15 мая 2010

Вы можете использовать NSNotifiactionCentre, чтобы уведомить другое представление. Просто заставьте tableViewController прослушать правильный NSNotification и ответить соответственно.

При инициализации tableViewController:

[myNSNotificationCentre addObserver:self selector:@selector(updateWithContactDictionary:) name:@"ContactAdded" object:theOtherViewController];

При добавлении контакта в theOtherViewController:

[myNSNotificationCentre postNotificationName:@"ContactAdded" object:self userInfo:userInfoStoredInAnNSDictionary];

Затем, как только вы добавите запись, таблица немедленно обновится.

0 голосов
/ 15 мая 2010

Использование уведомлений - довольно хорошее решение.

Другой способ, который обычно используется в приложениях для iPhone, заключается в том, чтобы сделать исходное табличное представление делегатом контроллера представления «add» (обычно представляемого модально), и чтобы контроллер представления вызывал согласованный метод для своего делегата, вызовите reloadData и отклоните модальный контроллер - что логически лучше всего сделать из объекта, который представил его в первую очередь.

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