1

Plist 内に値を保存し、iphone 3.0 で実行中に読み取る方法は?

前もって感謝します。

4

2 に答える 2

2

文字列、日付、数値、配列、辞書などの「標準」データ型のみを含む配列または辞書がある場合は、または を使用して内容を .plist ファイルに保存でき-[NSArray writeToFile:atomically:]ます-[NSDictionary writeToFile:atomically:]。ファイルを読み取るには、 を使用します-initWithContentsOfFile:

アプリケーション バンドルは iPhone OS デバイスでは書き込み可能ではないため、アプリケーションの Documents ディレクトリにファイルを保存する必要があることに注意してください。

于 2010-04-27T10:03:12.807 に答える
1

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>
于 2010-04-27T10:08:15.863 に答える