0

我有一些这样的代码:

__block NSArray *array;
[manageContext performBlockAndWait:^{
    array = [manageContext executeFetchRequest:fetchRequest error:nil];       
}];
return array;

有时,返回值的内存地址在发布版本中是无效的。所以为什么?

4

1 回答 1

0

如果您检查在“”的“ ”参数中返回什么错误,而不是期望它总是为零,那将是非常聪明的。error:executeFetchRequest

可能是您的 fetch 请求失败并且返回的数组为 nil。

另外,如果“ array”是有效的(即“”没有返回错误executeFetchRequest,你应该给编译器一个提示,这些结果需要保留在内存中而不是被释放。例如,将返回的数组设置为强属性。

于 2013-05-27T04:34:30.773 回答