程序接收信号:带有Core Data的“EXC_BAD_ACCESS”
Posted
技术标签:
【中文标题】程序接收信号:带有Core Data的“EXC_BAD_ACCESS”【英文标题】:Program received signal: “EXC_BAD_ACCESS” with Core Data 【发布时间】:2010-12-22 13:01:10 【问题描述】:我是 ios Developpement 的新手,正在尝试将 Core Data 与 TableView 一起使用。
在使用 Core Data 和 TableView 时,我得到一个 EXC_BAD_ACCESS。我不确定错误是来自 Core Data 对象还是来自 TableView,因为我不知道我是否在我的代码中。
#0 0x0157ea63 in objc_msgSend ()
#1 0x0582ea20 in ?? ()
#2 0x005c100f in -[UITableViewRowData invalidateAllSections] ()
#3 0x0047bb00 in -[UITableView(_UITableViewPrivate) _updateRowData] ()
#4 0x004778a7 in -[UITableView noteNumberOfRowsChanged] ()
#5 0x004842b8 in -[UITableView reloadData] ()
#6 0x00481470 in -[UITableView layoutSubviews] ()
#7 0x01ff2451 in -[CALayer layoutSublayers] ()
#8 0x01ff217c in CALayerLayoutIfNeeded ()
#9 0x01feb37c in CA::Context::commit_transaction ()
#10 0x01feb0d0 in CA::Transaction::commit ()
#11 0x0201b7d5 in CA::Transaction::observer_callback ()
#12 0x013fdfbb in __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ ()
#13 0x013930e7 in __CFRunLoopDoObservers ()
#14 0x0135bbd7 in __CFRunLoopRun ()
#15 0x0135b240 in CFRunLoopRunSpecific ()
#16 0x0135b161 in CFRunLoopRunInMode ()
#17 0x01a69268 in GSEventRunModal ()
#18 0x01a6932d in GSEventRun ()
#19 0x0041942e in UIApplicationMain ()
【问题讨论】:
你能发布你的代码吗?尤其是在构建 TableView 时发布某些内容的任何地方 我的错误是在发布时:ViewController *controller = [[ViewController alloc] init];控制器.a = a; controller.managedObjectContext = managedObjectContext; CGRect bounds = [[UIScreen mainScreen] bounds]; [controller.view initWithFrame:bounds]; [self.view addSubview:controller.view]; //[控制器释放]; -> EXC_BAD_ACCESS 【参考方案1】:可能从你的TableView中,在你的数据源方法中设置断点来查找或者set NSZombie environment variable
你可能会发现你的数据源试图访问一个未分配的对象
【讨论】:
您好 VdesmedT,我发现我的数据源正试图访问一个未分配的对象。非常感谢。 那么也许你可以在这个答案上设置接受标志(左侧的灰色复选标记);-)以上是关于程序接收信号:带有Core Data的“EXC_BAD_ACCESS”的主要内容,如果未能解决你的问题,请参考以下文章
带有 Core Data 的 Cocoa pod 在消费应用程序中找不到实体
带有 EXC_BAD_ACCESS 的 Core Data deleteObject 应用程序崩溃
带有 Core Data 陡峭学习曲线的 RestKit 0.10.1