Пример для передачи переменной родительскому представлению необходим - PullRequest
0 голосов
/ 28 апреля 2011

Я изучил некоторые темы по SO, но я не могу понять, как правильно использовать протоколы для передачи переменных в родительское представление.

По сути, у меня есть tableListView, который является обычным UIViewController, но с прикрепленными к нему UITableViewDataSource и UITableViewDelegate, поэтому представление содержит таблицу.

При нажатии на элемент в этой таблице пользователь перемещается в detailView. Я хотел бы увидеть, как конкретное значение, скажем, String, может быть передано из detailView в tableListView (чтобы я мог отметить несколько ячеек на основе этой String).

У кого-нибудь есть конкретный пример этого? Ты был бы лучшим <3 </p>

Ответы [ 3 ]

0 голосов
/ 28 апреля 2011

Каждый View Controller должен управлять моделью.Ваш контроллер представления «Список» должен управлять массивом объектов модели.Когда вы заполняете таблицу, вы должны использовать ее методы источника данных для проверки массива объектов и их отображения.Индекс в табличном представлении и индекс в массиве будут совпадать.

Ваше подробное представление должно управлять одним объектом, который моделирует данные.Когда срабатывает метод делегата табличного представления «список», вы создаете новое подробное представление, присваиваете один из объектов в своем массиве свойству подробного представления и помещаете подробное представление в стек.

В подробном представлении выможет иметь кнопку «сохранить» или просто сохранить изменения в объекте модели, когда представление удалено из стека, в любом случае вы просто обновите ссылку на объект модели, который есть в подробном представлении.Как только представление списка снова окажется на вершине стека, вы можете выполнить [self.tableView reloadData] в представлении списка.Любое из обновлений теперь будет видно.

Вот ссылка на образец кода Apple http://developer.apple.com/library/ios/#samplecode/SimpleDrillDown/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40007416

0 голосов
/ 02 мая 2011

Это все объяснено здесь .

0 голосов
/ 28 апреля 2011

Вы должны добавить @property в detailView и перед тем, как нажать его, выполните:

[detailView setMyString:mystring];
...