我有一些这样的代码:
__block NSArray *array;
[manageContext performBlockAndWait:^{
array = [manageContext executeFetchRequest:fetchRequest error:nil];
}];
return array;
有时,返回值的内存地址在发布版本中是invaild。 那么为什么?
答案 0 :(得分:0)
如果您检查了“error:
”参数“executeFetchRequest
”中返回的错误,那么真的很聪明,而不是期望它总是为零
可能是您的提取请求失败并且返回的数组为nil。
此外,如果“array
”有效(即“executeFetchRequest
”没有返回错误,您应该给编译器一个提示,即这些结果需要留在内存中而不是被释放例如,将返回的数组设置为强属性。