xcode - 将数组保存到 plist

标签 xcode arrays loops nsarray plist

我正在尝试将一些项目存储到 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/

相关文章:

c - 分配结构指针数组?

javascript - 找到所有的字符串值和相应的键

arrays - 对元胞数组的每个元素执行算术运算的最快方法是什么?

java - 我用Java编写的这个程序需要很长时间才能运行(我还没有看到结果)

ios - 无法在模拟器中运行应用程序 : Xcode beta 6 iOS 8

ios - Xcode Storyboard : Can't add View to ViewController

ios - iOS 中使用 Sinch 客户端调用电话不显示来电号码

iphone - Xcode 没有启动我的应用程序进行调试

javascript - 检查数组中是否包含某个值并返回结果

Python Selenium : Stale Element Reference Exception Error