0
-(NSArray *) convertArrayOfDictionaryToOneOfItsElement: (NSString *) key
{
    NSArray * result = [self convertEachElementToAnother:^(id element){
        NSDictionary *elementDictionary = (NSDictionary *) element;
        NSString * value= elementDictionary [key];
        //NSAssert(result, @"result must not benil");
        return value;
    }];
    return result;
}

此代码在没有 NSAssert 的情况下可以正常工作。但是,如果事情是零,我想确保我知道它何时发生。

好吧,我把 NSAssert

它挂起。

exc_bad_access

为什么?

更新:我发现了这个错误。它应该是NSAssert (value, @"result must not benil")

好吧,我还是想知道为什么做NSAssert (result,...cuases问题

4

1 回答 1

3

因为在块内部你没有结果数组,所以这个数组只会在最后一个块执行后分配。

于 2013-01-24T10:36:54.033 回答