将 NSString 变量添加到 plist 文件中时出错

Posted

技术标签:

【中文标题】将 NSString 变量添加到 plist 文件中时出错【英文标题】:Error adding NSString variable into plist file 【发布时间】:2012-04-13 15:07:50 【问题描述】:

我有一个困扰了很长时间的问题...请帮助。

我正在使用以下代码行将记录添加到 plist 文件中:

[data_appo setObject:@"string value" forKey:[NSString stringWithFormat:@"%i",(i-1)]];

它工作正常。现在,如果我尝试从文件中读取字符串而不是添加它(我需要使用不同的键复制值)如下

NSString *string_appo=[data_appo objectForKey:[NSString stringWithFormat:@"%i",j]];

[data_appo setObject:string_appo forKey:[NSString stringWithFormat:@"%i",(i-1)]];

然后我收到 ERROR_EXEC 并且应用程序崩溃...

有什么想法???

任何帮助将不胜感激

提前致谢!

【问题讨论】:

【参考方案1】:

您是否在添加后保存了 plist 文件。我经常这样做,我就是这样做的

     //find the plist file
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
        NSString *documentsDirectory = [paths objectAtIndex:0]; 
        NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Notes.plist"]; 
    //set the value for the key
        [notesData setValue:textView.text forKey:[NSString stringWithFormat:@"General notes %d",selectedIndex]];
    //save the plist file   
        [notesData writeToFile: path atomically:YES];
    //relese and reload it
        [notesData release];
        notesData = [[NSMutableDictionary alloc] initWithContentsOfFile: path];

我希望这会有所帮助!

【讨论】:

以上是关于将 NSString 变量添加到 plist 文件中时出错的主要内容,如果未能解决你的问题,请参考以下文章

将 Plist (NSString) 解析为 NSDictionary

将 plist 文件中的数据存储到数组中

读取和写入 NSMutableDictionary 到 plist 文件

如何将自定义数组保存/重新加载到 plist

将字典添加到 plist 文件中的数组

从 .plist 文件中读取