iPhone передает объекту ссылку на UIViewcontroller - PullRequest
0 голосов
/ 12 июля 2011

У меня есть NSMutableArray в моем rootviewcontroller, он заполнен объектами вопросов, каждый вопрос содержит необходимый текст вопроса, его параметры и выбранное значение (которое равно нулю, если на вопрос еще не ответили)

У меня также есть другие xib-файлы uiview, которые я загружаю в контроллер навигации в зависимости от типа вопроса.

Когда нужно задать вопрос, я хочу передать соответствующую переменную вопроса в связанный .xib

Но я хочу передать ссылку на объект переменной, поэтому, когда пользователь редактирует, вводит какое-то значение в этот вопрос, я не хочу отправлять обратно любое значение, но могу установить значение переменной моего вопроса непосредственно из этого подкласса viewcontroller (pass по ссылке)

Итак, как правильно объявить @property и правильно инициализировать мой контроллер uiview?

В приведенном ниже коде также изменяется значение этой переменной в массиве rootviewcontroller? Я думаю, не потому, что похоже, что я передаю по значению там, но не по ссылке, как я могу изменить это?

в контроллере rootview:

MultiSelectionTableViewController *multiSelectionViewController =[[MultiSelectionTableViewController alloc] initWithNibName:@"MultiSelectionTableViewController" bundle:nil];

NSMutableArray *variableitems;

    multiSelectionViewController.question=variableItems[0];

и в контроллере uiviewsub:

Question * question;
@property(nonatomic, retain);
question.value=@"answer";

Также вы советуете использовать NSManagedObjects или какие-либо coredata в этой архитектуре? эти вопросы анализируются из xml и возвращаются как XML.

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Все объекты в Objective C передаются по ссылке, если только вы не определили свойство как копию.Таким образом, любое изменение в variableItems[0] в другом контроллере представления повлияет на объект в вызывающем контроллере представления.Если variableItems[0] - указатель на объект.

Если вы используете список объектов, необходимо хранить данные, то, безусловно, целесообразно использовать CoreData.

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

Попробуйте с assign свойством. Это может отправить объект по ссылке.

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