2011-01-26 3 views
2

У меня есть 4 NSmutablearrays с отдельными данными.Как сохранить NSMutableArrays в NSUserDefaults

Теперь мне нужно сохранить их в NSuserdefaults индивидуально и получить их индивидуально.

, как я могу сделать это,

может любой пожалуйста, напишите код.

Благодарим u заранее.

ответ

3

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

Если предположить, что ваши объекты правильно, вы можете хранить массив, делая

[[NSUserDefaults standardUserDefaults] setObject:yourArray forKey:@"aKey"]; 

Вы можете получить его обратно снова с arrayForKey: метод. Обратите внимание, что когда вы это сделаете, он больше не будет измененным массивом: вы можете вызвать mutableCopy в возвращаемом массиве, чтобы получить изменчивый. Кроме того, если вы измените массив после сохранения в NSUserDefaults, ваши изменения не будут отображаться в настройках приложения.

Если у вас есть массив объектов, которые не будут входить в NSUserDefaults (т. Е. Не в списке выше), все не потеряно: вам нужно посмотреть в NSCoding and archiving.