0
我有下面的代码,我写了这些代码来查看数据库查询的结果,并将每个元素放入由每个字母组成的字典中。 因此,查询中以相同字母开头的每个结果都应该放入字典中的自己的数组中,并将字母作为关键字。 但是在执行结束时,字典是空的。NSMutableDictionary在添加项目后为空
NSMutableDictionary *courseDict;
- (void)viewDidLoad
{
...
courseDict = [[NSMutableDictionary alloc] init];
...
[self getCoursesFromDB];
...
}
- (void)getCoursesFromDB
{
FMResultSet *s;
s = [db executeQuery:@"SELECT * FROM course WHERE CourseType =?;", _coursetype];
if ([db hadError]) {
NSLog(@"DB Error %d: %@", [db lastErrorCode], [db lastErrorMessage]);
}
while ([s next]) {
KCCourse *course = [KCCourse new];
NSString *title = [s stringForColumnIndex:1];
...
course.name = title;
...
NSString *letter = [title substringToIndex:1];
NSMutableArray *courseArray = [courseDict objectForKey:letter];
[courseArray addObject:course];
[courseDict setValue:courseArray forKey:letter];
}
NSLog(@"%@", [courseDict description]);
}
将[courseDict objectForKey:letter]更改为[[courseDict objectForKey:letter] mutablecopy]; – Yogendra