-[__NSDictionaryM objectAtIndex:]: 无法识别的选择器发送到实例
-[__NSDictionaryM objectAtIndex:]: unrecognized selector sent to instance
我在SO上搜索了所有可能的组合和答案,但对我的帮助不大。
所有都只与 UITableView
有关。
我正在做的是从服务器获取我的测验。
测验包含部分,每个部分包含问题。
所以流程是这样的。
测验->部分->问题
我越来越喜欢 JSON
第一个测验总数,
然后是部分的总数,特别是测验
以及特定部分的问题总数。
我将节存储在节数组中,并根据节数组计数解析问题。
但是我的应用程序崩溃了,我从节数组中获取问题对象并将其存储在 NSMutableDictionary
中,并使用密钥与 DTO 连接。
这是我的代码..
NSArray *sectionsA = [quizD objectForKey:@"sections"];
NSMutableArray *sectionDTOA = [[NSMutableArray alloc]init];
NSMutableArray* questionDTOA=[[NSMutableArray alloc] init];
for (int i =0; i<[sectionsA count]; i++)
{
NSMutableDictionary* sectionD = [sectionsA objectAtIndex:i];
SectionDTO* sectionDTO = [[SectionDTO alloc]init];
[sectionDTO setSection_id:[sectionD objectForKey:@"sectionID"]];
[sectionDTO setSection_name:[sectionD objectForKey:@"sectionDTitle"]];
[sectionDTO setSection_description:[sectionD objectForKey:@"sectionDDesc"]];
[sectionDTO setSectionCutoff:[sectionD objectForKey:@"sectionCutoff"]];
// 设置问题的代码在下面,然后 for 循环关闭..
我的应用程序在第
行崩溃
NSMutableDictionary* sectionD = [sectionsA objectAtIndex:i];
这么说
-[__NSDictionaryM objectAtIndex:]: unrecognized selector sent to instance
我的代码有什么问题,
我尝试通过获取数组然后获取键值对,但没有帮助。
请指导我。
提前致谢。
NSArray *sectionsA = [quizD objectForKey:@"sections"];
return 值应该是 NSDictionary
,而不是 NSArray
。
以下演示代码可能对您有所帮助:
NSArray *sectionsA = nil;
id sectionsObj = [quizD objectForKey:@"sections"];
if([sectionsObj isKindOfClass:[Dictionary class]]){
sectionsA = sectionsObj[@"keyForArray"]; //@"keyForArray" is the key for array
}
else if([sectionsObj isKindOfClass:[NSArray class]]){
sectionsA = sectionsObj;
}
我在SO上搜索了所有可能的组合和答案,但对我的帮助不大。
所有都只与 UITableView
有关。
我正在做的是从服务器获取我的测验。 测验包含部分,每个部分包含问题。 所以流程是这样的。 测验->部分->问题
我越来越喜欢 JSON 第一个测验总数, 然后是部分的总数,特别是测验 以及特定部分的问题总数。
我将节存储在节数组中,并根据节数组计数解析问题。
但是我的应用程序崩溃了,我从节数组中获取问题对象并将其存储在 NSMutableDictionary
中,并使用密钥与 DTO 连接。
这是我的代码..
NSArray *sectionsA = [quizD objectForKey:@"sections"];
NSMutableArray *sectionDTOA = [[NSMutableArray alloc]init];
NSMutableArray* questionDTOA=[[NSMutableArray alloc] init];
for (int i =0; i<[sectionsA count]; i++)
{
NSMutableDictionary* sectionD = [sectionsA objectAtIndex:i];
SectionDTO* sectionDTO = [[SectionDTO alloc]init];
[sectionDTO setSection_id:[sectionD objectForKey:@"sectionID"]];
[sectionDTO setSection_name:[sectionD objectForKey:@"sectionDTitle"]];
[sectionDTO setSection_description:[sectionD objectForKey:@"sectionDDesc"]];
[sectionDTO setSectionCutoff:[sectionD objectForKey:@"sectionCutoff"]];
// 设置问题的代码在下面,然后 for 循环关闭..
我的应用程序在第
行崩溃NSMutableDictionary* sectionD = [sectionsA objectAtIndex:i];
这么说
-[__NSDictionaryM objectAtIndex:]: unrecognized selector sent to instance
我的代码有什么问题, 我尝试通过获取数组然后获取键值对,但没有帮助。 请指导我。
提前致谢。
NSArray *sectionsA = [quizD objectForKey:@"sections"];
return 值应该是 NSDictionary
,而不是 NSArray
。
以下演示代码可能对您有所帮助:
NSArray *sectionsA = nil;
id sectionsObj = [quizD objectForKey:@"sections"];
if([sectionsObj isKindOfClass:[Dictionary class]]){
sectionsA = sectionsObj[@"keyForArray"]; //@"keyForArray" is the key for array
}
else if([sectionsObj isKindOfClass:[NSArray class]]){
sectionsA = sectionsObj;
}