Расширяя ответ dbarker, похоже, что вам действительно нужно сохранить значение currentString
в вашей модели данных. Правильное место для этого находится в самом viewController.
Если ваша модель данных - это всего лишь одна строка, вы можете создать свойство в делегате приложения для его хранения. Затем viewController записывает в свойство делегата приложения всякий раз, когда значение currentString
изменяется в представлении и / или его значение при закрытии представления.
Таким образом, данные (которые, в любом случае, составляют всю точку приложения) всегда остаются на месте, когда приложение закрывается, независимо от того, сколько просмотров вы открываете.
Контроллеры должны переносить информацию из интерфейса в модель данных. Строго говоря, viewController не должен хранить никаких данных, кроме тех, которые необходимы для самого интерфейса. Это должно быть свойство модели данных, которое viewControllers устанавливает путем отправки сообщения объекту модели данных со значениями, взятыми из интерфейса.
В этом случае у вас не будет свойства currentString
в ваших контроллерах представления. Вместо этого они будут иметь свойство, которое является просто ссылкой на свойство currentString
модели данных. Контроллеры представления будут постоянно обновлять это свойство, но сами ничего не будут хранить.
Преимущество этой конструкции очевидно. Если вам нужно значение в любом месте вашего приложения, у вас есть одно местоположение и один вызов, чтобы получить его. Ни одной части приложения не нужно даже знать о существовании какой-либо другой части приложения, кроме модели данных.