小编Luc*_*s G的帖子

尝试创建新的NSDictionary时EXC_BAD_ACCESS

NSDictionaries在循环中创建并将其添加到一个循环中我遇到了麻烦NSMutableArray.

基本上我只想更改键的名称,但由于我找不到一个函数,我去了下面的代码:

- (NSMutableArray *)getCategoriesForChannel:(int)channelId {
    NSDictionary *data = [self call:@"get_categories.ashx"];
    NSArray *categories = [data objectForKey:@"categories"];
    NSMutableArray *returnArray = [NSMutableArray
                          arrayWithCapacity:[categories count]];

    for(NSDictionary *category in categories) {
        [returnArray addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                         [category objectForKey:@"Channel_id"], @"id",
                         [category objectForKey:@"Channel_name"], "@name", nil]];
    }
    return returnArray;
}
Run Code Online (Sandbox Code Playgroud)

但是app总是在它到达addObject:方法时退出并抛出一个EXC_BAD_ACCESS.我认为它与内存管理有关,但由于我没有真正的C-background,我不知道如何解决这个问题.有人可以指出我正确的方向吗?提前致谢!

memory-management exc-bad-access objective-c

12
推荐指数
1
解决办法
4040
查看次数