执行此行时,我在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/