0

私は次の形式のxmlを持っています-

<plist version="1.0">
<array>
    <dict>...</dict>
    <dict>...</dict>
</array>
</plist>

-を使用してplistに書き込もうとしています。

NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:returnData options:NSPropertyListImmutable format:&format error:&errorDesc];
[self writeToPlistFile:@"myList.plist" : temp];

ここで、メソッドは

-(BOOL)writeToPlistFile:(NSString*)filename:(NSDictionary*)data{
NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * documentsDirectory = [paths objectAtIndex:0];
NSString * path = [documentsDirectory stringByAppendingPathComponent:filename];
BOOL didWriteSuccessfull = [data writeToFile:path atomically:YES];
return didWriteSuccessfull;
}

次に、それを読んで辞書に入れたいと思います。どうすればいいですか?

4

3 に答える 3

2

<array>plistがタグで始まる場合にこれを使用します

NSMutableArray* documentArray = [NSMutableArray arrayWithContentsOfFile:sourcePath];

ここで、sourcePathはplistへのパスです。

于 2012-10-02T02:20:30.433 に答える
0
-(void)saveData:(NSString*)data
{
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentDirectory=[paths objectAtIndex:0];
        NSString *fileName=[NSString stringWithFormat:@"%@/%d.txt",documentDirectory,1];
        NSString *content=data;
        NSFileHandle *fileHandler= [NSFileHandle fileHandleForWritingAtPath:fileName];
        [fileHandler seekToEndOfFile];
        [fileHandler writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
        [fileHandler closeFile];
        NSLog(@"%@",fileName);
}
于 2012-10-02T01:51:57.747 に答える
0

次のfilePathを、保存に使用したのと同じパスに置き換えて使用します。

NSDictionary *yourDictionary = [NSDictionary dictionaryWithContentsOfFile:filePath];
于 2012-10-01T21:34:45.557 に答える