- (instancetype)initWithDestinationIndex:(NSUInteger)levelsIndex {
NSString* filepath = [[NSBundle mainBundle]
pathForResource:@"Levels" ofType:@"plist"];
NSDictionary *levels = [NSDictionary dictionaryWithContentsOfFile:filepath];
NSArray *levelsArray = levels[@"LevelsData"];
_data = levelsArray[levelsIndex];
[_verticalB setToInitialStateVertical];
return self;
}
我有一个
plist
应该加载18个键值对的信息。类型_data
实例变量的NSDictionary
(当我运行程序并在该行的_data = levelsArray[levelsIndex];
处放置断点时)几乎总是为null,除非在某些情况下实际上装载了18个键值对。关于为什么它几乎总是为空的任何想法?我为
levelsIndex
传递了0,而'LevelsData'是NSArray
,它包含18个键值对字典。 最佳答案
如果您的数据是NSMutableDictionary
,请使用以下代码,
NSMutableDictionary *_data = [[NSMutableDictionary alloc] init];
[_data setObject:[levelsArray objectAtIndex: levelsIndex] forKey:[NSString stringWithFormat:@"%d", levelsIndex]];
要么
for(int i=0; i<[levelsArray count]; i++){
[_data setObject:[levelsArray objectAtIndex:i] forKey:[NSString stringWithFormat:@"%d",i]];
}
希望对您有所帮助