2015-04-28 2 views
0

По какой-то причине у меня судороги мозга. Некоторые уже размещенные вопросы/ответы устарели или объективны. Я не уверен, что делегат - это путь?Как передать данные из одного UIView в UIView?

У меня есть иерархия UIViews.

Pizza String to pass

В phenotypeSunplotView: UIView некоторые данные установлены, строка. Я хочу передать строку в другой класс UIView, который на самом деле делает построение, SunplotView: UIView

Например, я хочу передать строку «Gorgonzola» классу, который отображает круг, SunplotView: UIView, и построит график строка рядом с кругом.

screendump

ответ

3

Как правило, вы не знаете. Представления не являются объектами хранения данных. Они представляют собой «Вид» в шаблоне проектирования Model/View/Controller.

Вместо этого вы устанавливаете контроллер просмотра для установки данных в обоих местах. Дайте своим точкам просмотра контроллера все взгляды, которые необходимо изменить.

Если представление представляет собой поле ввода (например, UITextField, например), то вы добавляете метод action или delegate в контроллер вида, который вызывается, когда пользователь вводит данные. Затем вы собираете эти данные и копируете их на любые другие виды, которые подходят. Контроллер представления опосредует, когда это необходимо для реализации логики вашего приложения.

+0

Спасибо за ответ. Я не хочу, чтобы View сохранял объект, я просто хочу, чтобы он передал ему строку и построил ее, как вызов функции. Наверное, я не понимаю понятие «скопируйте его на любые другие взгляды, которые подходят». –

+1

Подумайте о контроллере вида в виде телефонного коммутатора. Центральная станция соединяется со всеми видами на экране. С контроллера просмотра вы можете установить любые значения, которые вы хотите, столько раз, сколько хотите. Если у вас есть значение, которое нужно отобразить в 2 представлениях, просто напишите код, который копирует это значение в 2 выхода. Готово. –

+0

Хорошо, но разве это не битва памяти? Утечки? или много указателей, которые могут быть установлены на нуль? –

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