我真的很擅长在目标C中保存文件,但我想要完成的是在启动时读取位于文档目录中的plist文件,或者如果它不存在则创建它。
应该读入NSMutableDictionary。稍后在应用程序中,我应该能够将项目保存到NSMutableDict,类别为键+文本。
在viewWillUnload中启动之前,NSMutableDictionary应该再次保存到plist文件中。
我创建了plist但是我需要一种方法以正确的方式写入NSMutableDictionary(category和my result.text string。
我还需要将NSMutableDictionary保存到plist文件中,并在启动时将plist读入字典。
这方面的一些帮助很棒:D
谢谢你们。
在savefile中,我这样做:
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中已存在的数据。
再次感谢
答案 0 :(得分:2)
为什么不能使用writeToFile api?在此处撰写问题之前,您必须google或查看NSMutableDictionary的Apple文档。
[dict writeToFile:path atomically:YES];
加载已保存的词典
dict = [NSMutableDictionary dictionaryWithContentsOfFile:path];
快乐的编码!
答案 1 :(得分:2)
如果您希望字典中包含的字典和数组也是可变的,请执行以下操作:
NSData *data = [NSData dataWithContentsOfFile:path];
NSError *error;
storeDict =
[NSPropertyListSerialization
propertyListWithData:data
options:NSPropertyListMutableContainersAndLeaves
format:nil
error: &error];