Objective-c:使用作为plist结构的NSString初始化NSMutableArray

时间:2011-07-28 13:24:56

标签: objective-c ios4

如果我有一个以plist结构形式从Web服务返回的NSString,如何使用此NSString初始化NSMutableArray。我想知道是否有类似于initSithContentsOfFile的NSString方法。

我的第一个想法是将NSString保存到文件中,然后使用initWithContentsOfFile;但我试图避免先保存到文件。似乎应该有一种更简单的方法。

4 个答案:

答案 0 :(得分:1)

请参阅“属性列表编程指南”“Reading and Writing Property-List Data”。它介绍了如何将NSData转换为属性列表。如果您已从网络中获得NSData,则不要将其转换为NSString。如果您只有NSString,请使用dataUsingEncoding:将其转换为NSData

答案 1 :(得分:1)

查看-propertyList-mutableCopy方法的文档。

答案 2 :(得分:1)

未经测试,应该这样工作:

NSData *data = [myString dataUsingEncoding:NSUTF8StringEncoding];
NSMuableArray *array = [NSPropertyListSerialization
     propertyListWithData:data
                  options:NSPropertyListMutableContainers
                   format:NSPropertyListXMLFormat_v1_0
                    error:NULL];

答案 3 :(得分:0)

您可以使用NSXMLParser来解析XML(这是一个plist)并将其转换为字典(并从那里检索数组)