【发布时间】:2010-11-14 12:24:18
【问题描述】:
我想在“Secret.plist”中更新一个整数值。 这是一张图片:http://img214.imageshack.us/img214/8005/bildschirmfoto20101114u.png
现在,在我的应用程序中,我希望改变黄金值,这是我目前的代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"Secret" ofType:@"plist"];
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
NSNumber *goldNumber = [NSNumber numberWithInt:1234];
[tempDict setObject:goldNumber forKey:@"Gold"];
[tempDict writeToFile:path atomically:YES];
执行应用程序后,我的 .plist 没有更新,仍然是“5000”而不是“1234”。我做错了什么?
编辑:退出应用程序后,我的 .plist 中的新值未保存/更新。只要应用程序运行,值就会以某种方式更新。因此,当我在更新后检索值时,它是正确的。当我重新启动我的应用程序时,它不再更新。 NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] initWithContentsOfFile:path];
[tempDict setObject:@"A new String." forKey:@"key"];
[tempDict writeToFile:path atomically:YES];
即使是这个也不适合我。有没有人有代码可以简单地将我的数据保存到我的 .plist 中,以便我在重新启动应用程序时可以检索它?
【问题讨论】:
-
这里发生的事情比代码示例中显示的要多。当我尝试它时,该示例在 iPhone 模拟器中运行时更新了存储的 plist。你在哪个版本的 iOS 上运行它?你是在真机还是模拟器上运行?你会发more complete sample吗?
标签: iphone database cocos2d-iphone plist