我有这两个数组 init 和两个不同的 plist 文件,plist 文件在文件夹中而不是在包中,所以是可编辑的。
progress = [[NSMutableArray alloc] initWithContentsOfFile:[self progressFilePath]];
easy = [[NSMutableArray alloc] initWithContentsOfFile:[self easyFilePath]];
进度列表是空的,简单的是:
<array>
<dict>
<key>TitleEN</key>
<string>Hunter</string>
<key>Status</key>
<integer>0</integer>
<key>Image</key>
<string></string>
</dict>
</array>
现在在我看来,我有一个很容易加载的 tableView,我希望元素按在行中,如果它的状态为 0,它会进入进度 plist,为 dog.png 中的 key Image 设置对象,在 progress.plist 中也设置对象 0 用于关键状态,但在简单的状态中。我用这个做了一切:
NSNumber *status = [[easy objectAtIndex:indexPath.row] objectForKey:@"Status"];
if ([status intValue] == 0) {
[progress addObject:[easy objectAtIndex:indexPath.row]];
int progresstot = [progress count];
for (int i=0; i<progresstot; i++) {
if ([[progress objectAtIndex:i] objectForKey:@"TitleEN"] == [[easy objectAtIndex:indexPath.row] objectForKey:@"TitleEN"]) {
[[progress objectAtIndex:i] setObject:@"dog.png" forKey:@"Image"];
}
}
[progress writeToFile:[self progressFilePath] atomically:YES];
[[easy objectAtIndex:indexPath.row] setObject:[NSNumber numberWithInt:1] forKey:@"Status"];
[easy writeToFile:[self easyFilePath] atomically:YES];
}
一切正常,但我不明白为什么在这个方法的最后我有我的progress.plist 和我的元素和dog.png,但我也有dog.png 简单的。(状态仅更新为 easy 并且运行良好,但 dog.png 在两者上)。任何人都可以帮助我吗?我不明白出了什么问题。