0

我正在尝试修改 plist 并保存更改,但它不起作用:

这是我的代码:

        NSString *myPath = [[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"];
        NSMutableDictionary *plistDict;
NSMutableArray *array = [[NSMutableArray alloc]initWithArray:[plistDict objectForKey:@"$objects"]];
        for (int i =0 ; i <array.count; i++)
        {
            if ([[array objectAtIndex:i] isKindOfClass:[NSString class]])
            {
                if ([[array objectAtIndex:i] isEqualToString:@"myString"])
                {
    [[plistDict objectForKey:@"$objects"]replaceObjectAtIndex:i withObject:@"newString"];

    }
    }
    }
     NSString *root = @"/Users/myUser/Desktop/newPlist.plist";
        [plistDict writeToFile:root atomically:YES];

内容的字典已被修改,我没有任何错误,但该文件从未在路径中创建。你们中的任何人都知道我在做什么错吗?或者我该如何解决?

4

2 回答 2

0

我怀疑您正在写入沙盒位置。实际上不是用户目录。

于 2013-10-30T07:10:11.967 回答
0

请参考以下代码:-

NSMutableDictionary *plistDict=//assuming your data
        NSString *root = @"/Users/home/Desktop/newPlist.plist";
    if (![[NSFileManager defaultManager]fileExistsAtPath:root])//checking fileexist or not 
    {
//if not exist creating the same 
        [[NSFileManager defaultManager]createFileAtPath:root contents:nil attributes:nil];
        [plistDict writeToFile:root atomically:YES];
    }
    else
    {
    [plistDict writeToFile:root atomically:YES];
    }
于 2013-10-30T07:22:19.113 回答