Форум программистов, компьютерный форум, киберфорум
Наши страницы

Objective-C

Войти
Регистрация
Восстановить пароль
 
BohdanSavych
1 / 1 / 0
Регистрация: 25.12.2013
Сообщений: 44
#1

Как реализировать паттерн Memento? - Objective-C

01.12.2015, 17:54. Просмотров 335. Ответов 1

Хочу реализировать паттерн memento .Моя проблема заключается в тому ,что я хочу сохранить состояние игры даже когда юзер закрыл игру . По-сути мне нужно как-то сохранить Объект _deck Немного погуглив я сделал так
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
- (void)saveCurrentState
{
    [[NSUserDefaults standardUserDefaults] setObject:_deck forKey:@"currentDeck"];
    NSLog(@"save");
}
 
- (void)loadPreviousState
{
    _deck = [[NSUserDefaults standardUserDefaults] objectForKey:@"currentDeck"];
    [self updateCardWrapForAllCards];
    NSLog(@"load");
}
создал notification
Objective-C
1
2
 [[NSNotificationCenter defaultCenter] addObserver:self
                                              selector:@selector(saveCurrentState) name:UIApplicationDidEnterBackgroundNotification object:nil];
ну вот а теперь когда ухожу в бэк граунд то програма падает.Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.12.2015, 17:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как реализировать паттерн Memento? (Objective-C):

как это можно реализировать в InterBase? - Firebird/InterBase
Схема БД состоит из четырех отношений: Product (maker, model, type) PC (code, model, speed, ram, hd, cd, price) Laptop (code, model, speed,...

Как реализировать заполнение массива квадратами? - C++
Я создал програму которая заполняет двумерный масив символами 35, а потом в рандомных местах создает прямоугольники символами 46, мне нужно...

Массив: Как реализировать изменения в массиве по заданным координатам на экране - C++
есть двумерный масив 78 100, и как реализировать что будет изменятся в масиве только возле координат y x или i j. Я знаю только system...

Как реализировать программу для смены обоев рабочего стола? - Python
Я сделал так: парсил сайт (http://www.goodfon.ru/), сохранял ссылки на страницы с картинками в массив, парсил их, скачивал картинки на...

Как реализовать паттерн - C++
Как реализовать паттерн с помощью интерфейсов C++

Как называется паттерн? - ООП и паттерны
здравствуйте, в общем начитался тут всякого: http://mariusbancila.ro/blog/2014/10/15/extension-methods-in-cpp/ сам раньше кодил...

1
LeninRedStar
5 / 5 / 4
Регистрация: 22.11.2015
Сообщений: 21
02.12.2015, 18:13 #2
объект _deck должен удовлетворять NSCoding чтобы иметь возможность быть сохраненным (креш из-за этого).

А в целом лучше уж не в дефолтсы сохранять, поскольку они нужны для настроек, т.е. атомарных значений, а _deck может быть сложным и громоздким объектом.

Я бы лучше сохранял в отдельный файл, через сериализацию.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2015, 18:13
Привет! Вот еще темы с ответами:

Как называется паттерн? - ООП и паттерны
Всем привет. По работе, пришлось реализовать некую структуру, где за основу был взять паттерн Одиночка. Принцип работы заключается...

Машина Тьюринга. Перенос нуля. Реализировать на С++ - C++
Приветствую! Я в С++ очень плохо разбираюсь, но нужна программа... Буду рад всем откликнувшимся.

Как реализовать Observer паттерн - C#
Необходимо реализовать Observer паттерн. Реализация через public void Publish<TEvent>(TEvent publishEvent); public void...

Паттерн матчинг, как выкрутиться - Haskell
Добрый день Есть у меня вот такой код в проекте: --доступные команды станка data Command = G0 Params | G1 Params | F...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru