- (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];
处设置断点时)几乎总是为空,除非有一次它实际上有18加载的键值对。有什么想法为什么它总是空的?
我为我的levelsIndex
传递0,并且' LevelsData'是NSArray
,它包含18个键值对字典。
答案 0 :(得分:1)
如果您的_data为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]];
}
或
Parse.Cloud.beforeSave(Parse.User, function(request, response) {
var user = request.object;
if(user.isNew()){
user.set('key', value);
}
response.success();
});
希望它有用
答案 1 :(得分:0)
您可能正在以“发布”方案运行应用程序。你仔细检查一下吗?只要你得到结果。
要检查,
单击[运行]按钮旁边的项目名称。 &GT;编辑方案&gt;运行&gt;构建配置&gt;调试/发布