xcode - 将plist读入nsmutabledictionary,更新字典然后再次保存

标签 xcode plist nsmutabledictionary

我对于在 Objective C 中保存文件确实很陌生,但我想要完成的是在启动时读取位于文档目录中的 plist 文件,或者如果它不存在则创建它。

它应该被读入 NSMutableDictionary。稍后在应用程序中,我应该能够将项目保存到 NSMutableDict,类别为键 + 文本。

启动前viewWillUnload中的NSMutableDictionary应该再次保存到plist文件中。

我已经创建了 plist,但我需要一种以正确的方式写入 NSMutableDictionary 的方法(类别和我的 result.text 字符串。

我还需要将 NSMutableDictionary 保存到 plist 文件并在启动时将 plist 读入字典中。

对此的一些帮助会很棒:D

谢谢大家。

在保存文件无效中我正在这样做:

    storeDict = [[ NSMutableDictionary alloc]
                 init];
    [storeDict setObject:resultText.text forKey:@"kvitto"];
    [storeDict setObject:kategori forKey:@"kategori"];
    [storeDict writeToFile:[self saveFilePath] atomically:YES];

saveFilePath 看起来像这样:

- (NSString *) saveFilePath {
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    return [[path objectAtIndex:0] stringByAppendingString:@"savefile.plist"];
}

这些值是从用户扫描的代码中收集的字符串,因此不必担心它们。 那么我如何正确保存它并保留 savefile.plist 中已存在的数据。

再次感谢

最佳答案

如果您希望字典和字典中包含的数组也是可变的,请执行以下操作:

NSData *data = [NSData dataWithContentsOfFile:path];
NSError *error;
storeDict = 
    [NSPropertyListSerialization 
            propertyListWithData:data 
                         options:NSPropertyListMutableContainersAndLeaves
                          format:nil
                           error: &error];

关于xcode - 将plist读入nsmutabledictionary,更新字典然后再次保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15342554/

相关文章:

ios - NSMutableDictionary initWithContentsOfFile 中的内存泄漏

iphone - 启动屏幕上的图像不会出现在设备上

macos - 使用shell脚本编辑plist文件

ios - 未知类型名称 'SKPaymentDiscount' 。 FBSDK核心套件

ios - 从 plist 获取数据到 NSMutableArray 并将 NSMutableArray 写入同一个 plist iPhone

ios - 如何修复 App Store Connect 操作错误 ERROR ITMS-90784

ios - iOS:不会设置NSMutableDictionary属性

iOS 如何保存类对象的字典?

iphone - 在哪里使用 CFBundleName

xcode - XCode 4/5 中的 Lipo 工具去哪儿了?