Plist 内に値を保存し、iphone 3.0 で実行中に読み取る方法は?
前もって感謝します。
文字列、日付、数値、配列、辞書などの「標準」データ型のみを含む配列または辞書がある場合は、または を使用して内容を .plist ファイルに保存でき-[NSArray writeToFile:atomically:]
ます-[NSDictionary writeToFile:atomically:]
。ファイルを読み取るには、 を使用します-initWithContentsOfFile:
。
アプリケーション バンドルは iPhone OS デバイスでは書き込み可能ではないため、アプリケーションの Documents ディレクトリにファイルを保存する必要があることに注意してください。
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>