|
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 11
|
|
Состояние UIViewController18.04.2016, 14:51. Показов 1928. Ответов 6
Метки нет (Все метки)
Доброго времени суток, стыдно за такой вопрос, но поиск не дал рабочего результата
Есть приложение с несколькими ViewController, при этом при переходе между мини (TabBar и Navigation), логично освобождается память того с которого ушел, и значения в TextField'ах и Switch'ах этого контроллера соответственно очищаются. Каким образом можно сохранить состояние при переходе и как считывать значения другого контроллера (SecondViewController.*** не сработало)? Пробовал выставить ключи (идентификаторы, прочитал в некой статье) для ViewController результата 0 опять очищается, пробовал на свой страх выключить ARC в CompileSourses тоже самое Помогите товарищи, уже второй день туплю, в доступных исходниках глаза сломались разбираться, а поиск не дал результата (что пробовал, не работает) Добавлено через 21 минуту Т.е. понятно что можно сделать через БД, файлы, либо вроде как через NSUserDefaults. Но хотелось бы не восстанавливать значения во вьюшке в DidLoad, а как либо сохранять их там, без дальнейшего считывания из файла...
0
|
|
| 18.04.2016, 14:51 | |
|
Ответы с готовыми решениями:
6
Прозрачный UIViewController Метод touchesBegan в UIViewController Не вызывается dealloc в UIViewController при popViewControllerAnimated |
|
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
|
|
| 18.04.2016, 18:05 | |
|
Зачем делать все наоборот? View это представление ваших данных, view не хранит их, а всего лишь представляет данные в графическом виде. Поэтому данные хранятся отдельно, например в БД. Если нужно помнить настройки подойдет NSUserDefaults, как вы уже правильно заметили.
0
|
|
|
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 11
|
|
| 18.04.2016, 18:38 [ТС] | |
|
В моем случае я работаю с потоками NSStream, инициализирую их и подключаю (ip, port) в пределах одной View (контролера). Но при этом взаимодействовать с этими потоками (NSInputStream, NSOutputStream) надо во всем приложении, вне зависимости текущего ViewController'a... Туплю видимо, пока не разобрался, как можно это реализовать
Хотелось не использовать view для хранения, а просто не загружать каждый раз в нее данные, думал есть возможность сохранить текущее состояние
0
|
|
|
67 / 67 / 19
Регистрация: 13.07.2015
Сообщений: 219
|
|
| 19.04.2016, 22:33 | |
|
Почему бы не создать фоновый поток (это про threads), и в нем уже работать с внешней связью. А между главным(здесь UIKit работает) и фоновым потоком создать механизмом взаимодействия.
1
|
|
|
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 11
|
|
| 20.04.2016, 06:05 [ТС] | |
|
Скорее всего подойдет, но не подскажите ли, как на obj-c реализуются фоновые потоки? Или где нормально описано их создание, работа и взаимодействие с ними?
0
|
|
|
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 11
|
|
| 21.04.2016, 17:40 [ТС] | |
|
Как вычитал, потоки используются чисто для распараллеливания задач. Запустилось-выполнилось-закончилось (например загрузить картинку с Web-страницы). Но если я не сам создаю и описываю этот поток (от чего отговаривают все источники, да и задача не настолько серьезная), а использую средства Objective-C, то тут уже ни слова о возможности работы с Event'ами да и память используется общая вместе с той областью где я создаю поток, т.е. она всё равно очищается, соответственно очищаются и потоки... Пришел к тому, что нужно как-то инициализировать объект и его методы, события (handleEvents) извне.
Не в работе с View, а как-то по другому. Так, чтобы пользователь запустил подключение, а далее все этого контроллера произошло подключение, после чего независимо от пользовательский действий, и текущих View, приложение могло постоянно присылать-получать данные с потоков NSInputStream, NSoutputStream, и записывать их куда-либо, соответственно с помощью сигналов(событий) этих потоков (их также надо описать). Но не получается найти пути к реализации этой задачи, уже руки опускаются Добавлено через 11 минут А при этом NSStream сам является потоком... Так вот где и как можно его описать, чтобы он принадлежал всем ViewControllers (т.е. они его видели). Либо просто был отдельно, но при этом можно было бы получать и отправлять данные с и на него на View?
0
|
|
|
29 / 28 / 8
Регистрация: 06.10.2012
Сообщений: 133
|
|
| 22.04.2016, 09:29 | |
|
Архитектуру пока не до конца понимаю, но если надо создать сущность и раздавать ее всем VC по приложению, проще всего (и логичнее) сделать это в AppDelegate.
По аналогии с managedObjectContext из CoreData. Dependency injection можно делать в зависимости от подключения VC. Сорри если не о том.
1
|
|
| 22.04.2016, 09:29 | |
|
Помогаю со студенческими работами здесь
7
Обмен свойствами двух UIViewController посредством KVO UIViewController поверх UISplitViewController vs UIViewController
XCode: Связь двух UIViewController Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|