我有一个带对象的nsarray。 我想使用一个api方法,它有一个plist-xml参数,包含我的数组中的对象。有没有从数组创建plist / xml字符串的方法?
示例:
My Object { int id ,NsString name }
plist ..
<array>
<dict>
<key> Id </key>
<integer>1</integer>
</dict>
...
..
</array>
答案 0 :(得分:1)
如果你想制作“plist”文件..
NSMutableArray *testArray = [[NSMutableArray alloc] init];
for(int i =0; i < 10; i++)
{
NSString *key = [NSString stringWithFormat:@"key%d", i];
NSInteger value = i;
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInteger:value], key, nil];
[testArray addObject:dictionary];
}
NSString *error;
NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:(id)testArray
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
if(plistData)
{
NSArray *documentDirectoryPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *saveDir = [NSString stringWithFormat:@"%@/plistData.plist", [documentDirectoryPath objectAtIndex:0]];
[plistData writeToFile:saveDir atomically:YES];
}else {
NSLog(@"Error: %@", error);
}
或者你想制作“XML”..只需改变一行。 像这样。
NSString *saveDir = [NSString stringWithFormat:@"%@/plistData.xml", [documentDirectoryPath objectAtIndex:0]];