在版本1.0中,我使用的是NSMutableArray,我在内部存储NSNumbers,如
NSMutableArray *myArray;
for(int i= 0 ; i < 10 ; i++)
[myArray addObject:[NSNumber numberWithInt:i]];
用于存储我的gameStatus。
在下一版本(1.1)中,我想更新 myArray (通过在其中存储字典)......
NSMutableArray *myArray;
for(int i= 0 ; i < 10 ; i++)
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:number forKey:@"index"];
[dict setValue:[NSNumber numberWithBool:NO] forKey:@"isValid"];
[myArray addObject:dict];
[dict release];
}
我的问题是如何为以前的版本1.0提供兼容性。
提前致谢。
更新:我支持1.1版,如下所示,没问题。
//Version 1.1 support
//Read myArray
if( [myArray count] > 0)
{
if( ![[myArray objectAtIndex:0] isKindOfClass:[NSMutableDictionary class]])
{
for( NSNumber *number in myArray)
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:number forKey:@"index"];
[dict setValue:[NSNumber numberWithBool:NO] forKey:@"isValid"];
[dict release];
}
}
}
答案 0 :(得分:1)
我认为您的观点是您在某些时候将这些文件保存到磁盘,并且您希望在升级后处理它们。有很多方法可以解决这个问题,但这是我对这个具体案例的建议:
当您转到v1.2并再次更改数据时,此功能可以很好地扩展。您将需要或多或少地永久保留“如何阅读v1.0”代码(或者至少在您完全放弃从1.0升级的支持之前),但无论如何都是如此。