0

我正在尝试将两种格式的 NSDictionary 格式化字符串相互转换。

两个字符串:

<key>info</key><dict><key>title</key><string>The Title</string></dict>

info = { title = "The Title";}

如果我使用initWithData或转换为 NSDictionary initWithContentsofFile当我使用[NSDictionary description]从字典中获取字符串时,我得到第二个字符串。因此,如果我输入第一个字符串,这是一种单向转换。有没有一种简单的方法可以将第二个字符串转换回第一个字符串,并将它们一起用于下面的文件中并将其转换为 NSDictionary?谢谢。

<dict>
dict1 contents...
</dict>
info ={dict2 contents...}
4

1 回答 1

1

解决了我的问题,非常感谢评论。

要保存为“人类可读的 plist 形式”/“属性列表表示”(XML 等),请使用

或者

  • NSPropertyListSerializationdataWithPropertyList:方法。文档链接

    NSError *error;    
    dataToBeStored = [NSPropertyListSerialization dataWithPropertyList:dictionaryToBeStored format:NSPropertyListXMLFormat_v1_0 options:0 error:&error];
    if (data) {
    NSFileManager* fileManager = [[NSFileManager alloc] init];
    [fileManager createFileAtPath:fullPath contents:dataToBeStored attributes:nil];
    [fileManager release];
    }
    

现在,如果您打开保存的文件并读取数据并转换为字符串,您将获得一个很好的人类可读的 plist。或者,您也可以init使用 NSDictionary。

于 2013-06-23T02:44:52.267 回答