проблема в nsuserdefaults - PullRequest
       1

проблема в nsuserdefaults

0 голосов
/ 06 марта 2011

каждый, у меня все еще есть проблемы с nsuser по умолчанию, я расскажу scenerio подробно

  1. Сначала я объявил массив nsmutable в appDelegate и установил его в NSUserDefaults с помощью For Key @ "abc"

  2. В FirstView Controller я сначала извлекаю массив из NSUserDefaults и сохраняю его значения в NSMutable Array

  3. Когда Click нажимает abcButton, я создаю словарь и добавляю в него значения, например

    [abcDictionar setObject:[[abcMutableArray objectAtIndex:indexPath.row] objectForKey:@"abc"]             forKey:@"abc"];
    
  4. Когда я добавил все значения в NSDictionary Затем я добавил NSDictionary в NSMutable Array как это

    [abcMutableArray addObject:abcDictionary];
    
  5. Тогда я сохраняю его NSUserDefaults Это дает мне исключение в пункте 4

  6. Когда я добавляю nsdictionary в Point One, все работает нормально, но данные в массиве неоднозначны, и возникает исключение, когда я собираюсь отобразить их в виде таблицы

если у кого-то есть идея, дайте мне знать заранее спасибо ...:)

1 Ответ

1 голос
/ 15 марта 2012

NSUserDefaults не хранит изменяемые объекты, только неизменяемые.Когда вы извлекаете из него объекты, вы должны преобразовывать / копировать их в изменяемые объекты, если хотите изменить их.

Также помните, что:

Класс NSUserDefaults предоставляет удобные методыдля доступа к распространенным типам, таким как числа с плавающей запятой, двойные числа, целые числа, логические значения и URL-адреса.Объектом по умолчанию должен быть список свойств, то есть экземпляр (или для коллекций комбинация экземпляров): NSData, NSString, NSNumber, NSDate, NSArray или NSDictionary,Если вы хотите сохранить какой-либо другой тип объекта, вам обычно следует заархивировать его, чтобы создать экземпляр NSData.

, который взят из документации NSUserDefaults .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...