写/读plist文件iPhone

时间:2010-10-17 16:01:07

标签: iphone objective-c plist

我在我的iphone应用程序中有一个plist,我想从我的单个读取和写入一个整数并形成它。

我有这个读它:

 scoreData *score = [scoreData sharedData];

 filePath = @"stats.plist";
 NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];

 score.highScore = [plistDict objectForKey:@"score"];

然后写信给它:

scoreData *score = [scoreData sharedData];

 NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];

 [plistDict setValue:score.highScore forKey:@"score"];
 [plistDict writeToFile:filePath atomically: YES];

我在这两个部分都收到错误:

无效的转换形式objc_object * to int

无效的转换表单int到objc_object

感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:7)

两件事:

  1. 当您在字典中设置密钥时,you're probably after setObject:forKey:代替setValue:forKey:

  2. 字典包含对象(类型idNSString*或您自己的Obj-C对象),而不是基本类型(int,BOOL等)。

  3. 如果要在Obj-C集合中存储基本类型,可以将其“包装”在这样的对象中:

    [plistDict setObject:[NSNumber numberWithInt:score.highScore] forKey:@"score"];
    

    然后像这样回复:

    score.highScore = [[pListDict objectForKey:@"score"] intValue];
    

答案 1 :(得分:0)

看看这是否能回答你的问题:

How to create a new custom property list in iPhone Applications

您可以使用NSUserDefaults,但当然highScore并不是默认值。