我正在尝试将两种格式的NSDictionary格式化字符串相互转换。
两个字符串:
<key>info</key><dict><key>title</key><string>The Title</string></dict>
和
info = { title = "The Title";}
如果我使用initWithData
或initWithContentsofFile
,请转换为NSDictionary。当我使用[NSDictionary description]
从字典中获取字符串时,我得到第二个字符串。
因此,如果我输入第一个字符串,它是单向转换。有没有一种简单的方法将第二个字符串转换回第一个字符串,并在下面的文件中一起使用它们并将其转换为NSDictionary?谢谢。
<dict>
dict1 contents...
</dict>
info ={dict2 contents...}
答案 0 :(得分:1)
解决了我的问题,非常感谢评论。
要以“人类可读的plist形式”/“属性列表表示”(XML等)保存,请使用
writeToFile:
方法。 Doc link 或
NSPropertyListSerialization dataWithPropertyList:
方法。 Doc link
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。