当我在模拟器中启动我的应用程序时,它会立即崩溃并出现“错误:内存读取失败”
在iPad / iPhone上一切正常,但是当我添加一个简单的“返回”时在核心数据线之前,模拟器启动正常:
return;
CCAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
重要!!: 它不会在任何时候运行该代码,只需编译它。如果我加上“回归”,在另一个文件中的相同核心数据连接之前,它运行正常。看起来核心数据或某种东西有某种最大的“连接”?
我尝试过清洗Xcode(普通和清洁构建文件夹),清理模拟器(重置内容和设置),但没有成功。
其他问题:我有什么办法可以重新安装IOS模拟器吗?
答案 0 :(得分:2)
“错误:内存读取失败”。我今天早上收到同样的消息。我发现它与Block有关。
我们知道,如果一个类有一个Block作为其成员,它应该是这样的:
@property(nonatomic, copy)BlockType block;
在向NSArray实例添加块时,我的错误是忘记使用copy:
[array addObject:aBlock];
最后我解决了这个问题:
MyBlockType copy = [aBlock copy];
[array addObject:copy];
[copy release];
祝你好运!
Upate Mar / 20/1013 另一种情况导致“错误:内存读取失败”。
- (void)blockCalledMethod{
for (BlockType b in _dictionary) {
b(self);
}
}
解决我的问题的关键是使用.allKeys迭代NSDictionary。 但字典中的对象是Block,因此它必须与Block相对。
答案 1 :(得分:0)