|
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
|
|
Сохранение информации при переходе от одного контроллера к другому09.08.2013, 17:58. Показов 2166. Ответов 13
Метки нет (Все метки)
Есть несколько классов наследующих UIViewController(GameViewController,Shar eViewController,AboutViewController)
Вопрос в том,как сохранять счет игры во время переходов между контроллерами. Среди вариантов :сохранять score в файл(как-то криво),создать синглтон-класс и создавать глобальную переменную в AppDelegate Есть ли какое-то более простое решение?
0
|
|
| 09.08.2013, 17:58 | |
|
Ответы с готовыми решениями:
13
Ошибка контроллера при переходе по ссылке (@RequestMapping) No mapping found for HTTP Занесение информации в БД при переходе по ссылке |
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||
| 09.08.2013, 21:32 | ||
![]() тут уже миллион раз поднимался этот вопрос, вариантов - уйма: БД, плист, хмл, тхт, юзердефолтс, ... можно даже статическим классом обойтись, если туда нужно только преедать очки, а тот просто запишет инфу куда-то
0
|
||
|
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
|
|
| 09.08.2013, 22:10 [ТС] | |
|
БД,плист,хмл - все это работа с файлами(вариант о котором я упомянул).Не поверите! Статический класс я тоже разглядывал,как вариант.Я просто интересуюсь(о чем я собственно написал в теме),нет ли более простого решения для этой,казалось бы,тривиальной задачи
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 09.08.2013, 22:19 | |
|
NSUserDefaults – грубо говоря – словарь на время жизни приложения, пока его не удалят
0
|
|
|
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
|
|
| 09.08.2013, 22:34 [ТС] | |
|
Информация мне нужна исключительно во время работы программы( но доставать ее нужно будет много раз) и я опасаюсь,что работа с файлами(тем более,со словарем) будет сильно замедлять работу приложения.Поэтому я более склоняюсь к https://ru.wikipedia.org/wiki/... 0%B8%D1%8F) или к статическому классу.
0
|
|
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
| 09.08.2013, 23:21 | |
|
Словарь работает очень быстро. Ключи внутри отсортированы, поэтому со скоростью проблем нет.
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2013
Сообщений: 5
|
|
| 10.08.2013, 01:07 | |
|
Не могу предложить новых вариантов, но пишу из интереса, почему не подходит решение с объектом-синглтоном? По-моему, он тут хорошо подойдёт. Никакой работы с файлами, гарантированный доступ из разных мест.
0
|
|
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
|
| 10.08.2013, 02:15 | |
|
да потому что стоит пересмотреть предоставленные средства для начала, а потом уже велосипед изобретать
есть NSUserDefaults, который просто никак лучше подходит для этой задачи, а вы сейчас синглтонов наклепаете и рады к тому же уверен, что реализуете вы их неправильно, что может повлечь за собой утечки в памяти, проблемы с вызовом из разных потоков и замедлению работы вообще стоит стараться поменьше синглтонов создавать, а если и создавать то следить чтобы были реализованы правильно (а в objective-c это геморнее чем где бы то ни было), ну и следить за такими вещами как synchronized, что может повлечь замедление в работе, это описано у Фримана "Head first design patterns"
0
|
|
|
0 / 0 / 0
Регистрация: 10.08.2013
Сообщений: 5
|
||
| 10.08.2013, 02:25 | ||
|
0
|
||
|
Peace 2 all shining faces
674 / 535 / 85
Регистрация: 05.03.2010
Сообщений: 1,282
|
||||||||
| 10.08.2013, 04:33 | ||||||||
|
перешли на другой контроллер, сохранили данные и прочитали, все. какая разница, записывать их в синглтон объект и таким же макаром читать, а потом на выходе из приложения сохранять куда-то, и на входе считывать откуда-то, или просто хранить в словаре, который доступен всегда, пока приложение существует словарь, это хеш таблица, работает неимоверно быстро не говорите ерунды, 21 век на дворе, мы же не светофоры программируем p.s. тем более, что предложение действительно простейшее, а обращение к синглтону, у которого доступ к sharedInstance обернут в synchronize, это быстрее по вашему? да и вообще, старайтесь поменьше этих синглтонов юзать, когда можно обойтись хорошими удобными и быстрыми предоставленными средствами
0
|
||||||||
|
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
|
|||||||||||
| 10.08.2013, 11:21 | |||||||||||
![]() достаточно вызвать знак подчеркивания чтобы получить значение свойства, что я делаю не так? ))
Согласитесь что операции с такими данными как числа, синтаксически затруднительна в Obj-C
в данном случае синглтон может быть выступать ввиде обертки как NSUserDefaults, и содержать метод save который как и syncronize можно вызывать в любое время в любом месте кода пример кода тогоже кода с синглотоном
0
|
|||||||||||
|
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
|
|
| 10.08.2013, 11:57 | |
|
Из примитивного вопроса такую бучу раздули - журналюги обзавидуются, если въедут в чем тут дело.
Voron'у с толку сбили, noname_club очередных глупостей налепил, слов умных наговорили не поделу. Движуха! Аж дух захватывает. fatalis, смело используйте Singleton, ему тут самое место. Особенно, если у вас одно игровое поле. В вашем случае сложно что-нибудь им сломать. Хотя, при известной сноровке...
1
|
|
|
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
|
|
| 10.08.2013, 12:27 | |
|
Эммм, noname_club, спасибо за новый взрыв моего мозга.
Сразу так хорошо стало
0
|
|
|
8 / 8 / 1
Регистрация: 09.08.2013
Сообщений: 68
|
|
| 11.08.2013, 15:32 [ТС] | |
|
Реализовал синглтон,всем спасибо за советы.
Если нужно скинуть пример реализации(хотя их и так премного) - обращайтесь
0
|
|
| 11.08.2013, 15:32 | |
|
Помогаю со студенческими работами здесь
14
Сохранение данных при переходе по ссылкам Как выполнить редирект с одного метода контроллера в другой, без пересоздания контроллера Как передать из одного контроллера объект модели в строго типизированное представление другого контроллера Сохранение полноэкранности сайта при переходе по ссылкам Сохранение действий на страницах при переходе по ним Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|