使用sqlite3_step(语句)访问不一致但频繁的EXC_BAD_ACCESS访问

Jer*_*son 5 sqlite iphone exc-bad-access ios ios5

执行此行时,我在iOS中频繁出现EXC_BAD_ACCESS崩溃:

while (sqlite3_step(statement) == SQLITE_ROW) {

}
Run Code Online (Sandbox Code Playgroud)

它用于在我的(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 功能中提供结果.

有任何想法吗?SQL等看起来很好,数据库正在后台线程中更新,之后我调用前台线程来更新UI.

sha*_*sha 3

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