NSdictionary最后一个键返回(null)

时间:2013-03-22 21:19:07

标签: ios objective-c nsdictionary nsmutabledictionary

我有下一个获取SQLite的代码:

    if (sqlite3_prepare_v2(database, query, -1, &statement, NULL) == SQLITE_OK) {
    while(sqlite3_step(statement) == SQLITE_ROW) {
        NSInteger groupID = sqlite3_column_int(statement, 1);
        NSInteger universityID = sqlite3_column_int(statement, 2);
        NSInteger averageMark = sqlite3_column_int(statement, 4);
        Group *group = [self objectFromArray:self.groups withID:groupID];
        University *university = [self objectFromArray:self.universities withID:universityID];
        NSMutableDictionary *mGroups = university.groups.mutableCopy;
        mGroups[group] = @(averageMark);
        university.groups = [NSDictionary new];
        university.groups = mGroups;
        NSLog(@"%@", university.groups[group]);
    }
}

我的上一把钥匙有问题。因此,在university university.groups最后一个键返回(null)值的所有(null) (null) (null)中,它就在那里。我使用NSLog在控制台中看到,我总是看到averageMark = 72 ...这很奇怪,但是在下一次出现值时,新键中的值出现问题。例如,我第一次为first key添加averageMark,在控制台中返回(null),在第二圈我为second key添加first key。现在它对second key都有好处,它返回72,但现在 mGroups[group] = @(averageMark); university.groups = mGroups; if (mGroups[group]) NSLog(@"1234"); NSLog(@"%@ %@ %@", university.groups[group], mGroups[group], @(averageMark)); 返回(null)。有什么问题?我在哪里读词典?

修改 我尝试检查NSMutableDictionary中是否存在密钥。没有。

{{1}}

在控制台中我总是看到下一个:

enter image description here

0 个答案:

没有答案