我必须在plist中保留游戏的得分和当前日期。我创建了一个包含两个数组的字典:
- (void)viewDidLoad
{
[super viewDidLoad];
dateArray=[[NSMutableArray alloc]init];
scoreArray=[[NSMutableArray alloc]init];
[self.tableView setDelegate:self];
[self.tableView setDataSource:self];
[self getDate];
NSString *path = [[NSBundle mainBundle] pathForResource:@"score" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
int lastItemIndex = scoreArray.count;
[scoreArray insertObject:[dict objectForKey:@"scoreElements"] atIndex:lastItemIndex];
}
-(IBAction) saveData
{
NSString *plistPath =[[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Score.plist"];
NSMutableArray* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
[plistDict setValue:self.scoreLabel.text forKey:@"scoreElements"];
[plistDict writeToFile:plistPath atomically: YES];
}
此代码仅适用于上一场比赛,但我想用旧分数填充tableView。我该怎么办?
答案 0 :(得分:0)
代替使用
[scoreArray insertObject:[dict objectForKey:@"scoreElements"] atIndex:lastItemIndex];
你为什么不使用
[scoreArray addObject: dict["scoreElements"];
另外,当您使用下面的代码进行保存时,它将始终将覆盖旧值的新值设置为“ scoreElements”。...因此,您也必须使用数组。
[plistDict setValue:self.scoreLabel.text forKey:@"scoreElements"];
答案 1 :(得分:-1)
您可以使用NSUserDefaults来存储内容并在以后检索它。 在Apple查看有关此课程的参考资料: