加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xcode – 将数组保存到plist

发布时间:2020-12-14 17:22:19 所属栏目:百科 来源:网络整理
导读:我正在尝试将一些项目存储到pList中.这是数组循环: for (id obj in items)NSLog(@"obj: %@",obj); 输出NSLog: 2013-03-27 13:00:40.072 mycode[47436:c07] obj: Red2013-03-27 13:00:40.073 mycode[47436:c07] obj: Blue2013-03-27 13:00:40.073 mycode[47
我正在尝试将一些项目存储到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",@"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];

希望这可以帮助 !!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读