执行此行时,我在iOS中频繁发生EXC_BAD_ACCESS崩溃:

while (sqlite3_step(statement) == SQLITE_ROW) {

}

它用于在(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath函数中传递结果。

有任何想法吗? SQL等看起来不错,并且正在后台线程中更新数据库,然后我调用前台线程来更新UI。

最佳答案

如果数据库是在后台更新的,而您正在前台线程中访问它,则强烈建议您使用某种阻止机制来防止出现竞争情况。我不认为sqlite是线程安全的。

关于iphone - 与sqlite3_step不一致但频繁的EXC_BAD_ACCESS访问(语句),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9567175/

10-09 09:29