Как хранить значения внутри Plist и читать во время выполнения в iphone 3.0 ?.Как хранить значения внутри Plist и читать во время выполнения в iphone 3.0?
Спасибо заранее.
Как хранить значения внутри Plist и читать во время выполнения в iphone 3.0 ?.Как хранить значения внутри Plist и читать во время выполнения в iphone 3.0?
Спасибо заранее.
Если у вас есть массив или словарь, который содержит только «стандартные» типы данных, такие как строки, даты, числа, массивы и словари, вы можете сохранить содержимое в файл .plist с помощью -[NSArray writeToFile:atomically:]
или -[NSDictionary writeToFile:atomically:]
. Чтобы прочитать файл, используйте -initWithContentsOfFile:
.
Обратите внимание, что пакет приложений не доступен для записи на устройствах iPhone OS, поэтому вам необходимо сохранить файл в папке «Документы» вашего приложения.
Данное решение может применяться как к NSArray
, так и к NSDictionary
.
Используйте этот метод, чтобы сделать список свойств NSData
и использовать writeToFile
для сохранения его на диске.
[NSPropertyListSerialization dataFromPropertyList:(id)plist
format:(NSPropertyListFormat)format
errorDescription:(NSString **)errorString];
Используйте этот метод, чтобы прочитать список свойств от NSData
.
[NSPropertyListSerialization propertyListFromData:(NSData *)data
mutabilityOption:(NSPropertyListMutabilityOptions)opt
format:(NSPropertyListFormat *)format
errorDescription:(NSString **)errorString];
Пример:
NSPropertyListFormat format = 0;
NSString *errorString = nil;
NSDictionary *dataDict = [NSPropertyListSerialization propertyListFromData:data
mutabilityOption:NSPropertyListMutableContainersAndLeaves
format:&format errorDescription:&errorString];
if (errorString != nil) {
NSLog(errorString);
[errorString release];
}
NSLog(@"got dictionary:%@", dataDict);
errorString = nil;
NSData *data = [NSPropertyListSerialization dataFromPropertyList:dataDict
format:NSPropertyListXMLFormat_v1_0 errorDescription:errorString];
NSLog(@"plist data:%@", data); // convert to NSString to get <plist>
http://stackoverflow.com/questions/2623750/data-storing-in-plist-works-in-simulaor-but-not-in-device, этот ссылка может помочь вам .. – Warrior