Приложение падает на NSUserDefaults setObject: forKey: - PullRequest
0 голосов
/ 11 октября 2018

При установке объекта в NSUserDefaults мое приложение случайным образом падает в iOS 12. Ниже приведен мой код, в котором происходит сбой

shared2 = [[NSUserDefaults alloc]initWithSuiteName:@"group.AppName"];

NSData *datashare = [NSKeyedArchiver archivedDataWithRootObject:_sharedData];

[shared2 setObject:datashare forKey:@"dicForToday"];

Не получаю никаких журналов сбоя, как это происходит случайным образом

Частотаэтого сбоя гораздо больше на iOS 12.

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Обычно вы можете использовать этот метод для сохранения данных. Метод публикации:

 [[NSUserDefaults standardUserDefaults] setObject:object forKey:@"somename"];

Метод получения:

NSMutableDictionary *dicCover = [[NSUserDefaults standardUserDefaults] valueForKey:@"somename"];

некоторое время, словарь или массив или неправильное форматирование, как мы можем использоватьчтобы получить ваши данные, как это использовать NSUserdefault Используйте Achive:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arrayUsers];
    [[NSUserDefaults standardUserDefaults] setObject:data forKey:@"somename"];

Чтобы получить:

NSData *usersData = [[NSUserDefaults standardUserDefaults] valueForKey:@"somename"];
    NSMutableArray *redirectionDic = [NSKeyedUnarchiver unarchiveObjectWithData:usersData];
0 голосов
/ 11 октября 2018
  NSUserDefaults *myDefaults = [[NSUserDefaults alloc]
                                  initWithSuiteName:keyChainGroup];
    [myDefaults setObject:userInfo forKey:key];

Попробуйте это

...