Можно ли сохранить объекты UILocalNotification в базе данных plist или sqlite или где-то еще, например, NSUserDefaults? - PullRequest
1 голос
/ 14 сентября 2011

Я хочу сохранить объекты UILocalNotification, такие как следующие, желательно где-то, откуда я могу их получить, и мог бы сохранить несколько объектов UILocalNotification

    UILocalNotification *local=[[UILocalNotification alloc]init];
    [local setAlertBody:str];
    [local setFireDate:dat];
    NSDictionary *infoDict = [NSDictionary dictionaryWithObject:@"some_id_to_cancel" forKey:@"ID"];
    local.userInfo = infoDict;
    //local.hasAction=NO;
    //[[UIApplication sharedApplication] presentLocalNotificationNow:local];
    [[UIApplication sharedApplication] scheduleLocalNotification:local];
    [local release];

Теперь я хочу сохранить локальный объект где-нибудь, например, plist или любые хранилища, откуда я могу их получить.

Ответы [ 2 ]

1 голос
/ 14 сентября 2011

Поскольку UILocalNotification соответствует протоколу NSCoding, то да.

Из документации

Протокол NSCoding объявляет два методачто класс должен реализовать так, чтобы экземпляры этого класса могли быть закодированы и декодированы.Эта возможность обеспечивает основу для архивирования (где объекты и другие структуры хранятся на диске) и распространения (когда объекты копируются в разные адресные пространства).

1 голос
/ 14 сентября 2011

Примерно так:

[NSKeyedArchiver archiveRootObject:local toFile:@"path_to_file_where_to_save"];
...