我正在尝试将一些项目存储到 pList
中.这是数组循环:
for (id obj in items)
NSLog(@"obj: %@", obj);
输出 NSLog:
2013-03-27 13:00:40.072 mycode[47436:c07] obj: Red
2013-03-27 13:00:40.073 mycode[47436:c07] obj: Blue
2013-03-27 13:00:40.073 mycode[47436:c07] obj: Green
//arrayWithObjects 工作。但我不知道如何(循环?)浏览我的项目以保存到 plist 文件中...
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"data.plist"];
NSFileManager *filemgr;
filemgr = [NSFileManager defaultManager];
if ([filemgr fileExistsAtPath: path]) {
NSLog(@"%@", path);
NSMutableDictionary *plist = [[NSDictionary dictionaryWithContentsOfFile:path] mutableCopy];
NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
newArray = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue" nil]; // <--- WORKS!
newArray = [NSArray arrayWithObjects:items, nil]; // <-- ?
[plist setObject:newArray forKey:@"Hi"];
[plist writeToFile:path atomically:YES];
[plist release];
} else {
NSLog(@"File not found");
}
[filemgr release];
最佳答案
也许这段代码可以帮助你。
NSMutableArray *newArray = [[[NSMutableArray alloc] init] autorelease];
NSMutableArray *targetArray = [[[NSMutableArray alloc] init] autorelease];
newArray = [NSArray arrayWithObjects:@"Red", @"Green", @"Blue" nil];
for(int i=0;i<newArray.count;i++)
{
[targetArray addObject:[newArray objectAtIndex:i]];
}
[plist setObject:targetArray forKey:@"Hi"];
[plist writeToFile:path atomically:YES];
或其他方法
NSMutableArray *targetArray = [[[NSMutableArray alloc] init] autorelease];
for (id obj in items)
{
[targetArray addObject:items];
}
[plist setObject:targetArray forKey:@"Hi"];
[plist writeToFile:path atomically:YES];
希望这可以帮助 !!!
关于xcode - 将数组保存到 plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15678062/