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