2013-02-24 1 views
0

Я хочу напечатать NSString в своем TextView в mainViewController. Но эта команда должна поступать из второго ViewController. Я объявил строку в моем mainViewController.h, но мне нужна эта строка в secondViewController.m! (Текст должен быть напечатан в mainViewController). Когда я хочу получить доступ к этой строке, он говорит, что Xcode не знает эту переменную. Как я могу создать строку/переменную, которую я могу редактировать и печатать со всех моих ViewControllers (xib!)?Редактирование NSString многими контроллерами View?

+1

Как сделать переменную public static? Таким образом, никакой экземпляр не требуется от mainViewController? – Jeff

+0

как я могу это сделать? –

+0

Я бы не знал; Obj-C вышел из моей зоны комфорта. Тем не менее, быстрый Google дал мне что-то вроде '' extern' или static' – Jeff

ответ

1

Похоже, вы хотите поделиться моделью между двумя контроллерами. Это правильный подход MVC, так что все, что требуется, - это то, что один из контроллеров представления изменит значение в модели, и все остальные контроллеры будут уведомлены и могут обновить их соответствующие виды:

Пожалуйста, смотрите this excellent article о том, как это должно быть реализовано.

0

просто объявить, что переменная NSString в AppDelegate & доступа в любом ViewController с помощью метода sharedApplication .in вашего случая присвоить ей значение в secondViewController & доступа, что значение в mainViewController

AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
NSLOg(@"Nsstring value=%@",appDelegate.stringVariable); 

присваивая значение: [email protected]"fromSecondViewController");

+0

не работает или я глуп:/ , когда я беру это в моем AppDelegate я получаю эту ошибку: первую строку кода: (ERROR) Initializer элемент не является константой во время компиляции вторая строка кода: (ВНИМАНИЕ!) спецификатор типа отсутствует, по умолчанию «межд» (WARNING) несовместимой переопределение функции библиотеки «NSLog» (ОШИБКА) Ожидаемый объявитель параметра (ERROR) Ожидаемый ')' –

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