【问题标题】:Problem to write into plist写入plist的问题
【发布时间】:2011-07-20 09:15:30
【问题描述】:

大家好,

我已将我的 plist 复制到沙箱 (FileManager) 中,现在我可以更改 plist 的值。 我正在尝试这样做,但它不起作用。

这是我的 plist 结构:

还有我的sn-p

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"BlogList.plist"];
NSMutableDictionary *ressourceDico = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
NSArray *ressourceArray = [NSArray arrayWithArray:[ressourceDico objectForKey:@"BlogList"]];
for(int i = 0; i < [ressourceArray count] ; i++)
{
    NSMutableDictionary *dico = [ressourceArray objectAtIndex:i];

    if(![[dico objectForKey:@"isSaved"] boolValue] && [[dico objectForKey:@"identifier"] isEqualToString:identifier])
    {
        [dico setObject:[NSNumber numberWithBool:YES] forKey:@"isSaved"];
        [dico writeToFile:plistPath atomically:YES];
    }
}

【问题讨论】:

    标签: objective-c ios plist sandbox


    【解决方案1】:

    您不能只将字典的一部分写入文件,以“更新”其中的一部分。相反,您必须将整个字典写入文件。
    所以我认为,您必须在遍历数组元素后发送writeToFile:atomically:,但接收者可能是ressourceDico 而不是dico

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      相关资源
      最近更新 更多