不确定我是否应该以及如何在SQLite.swift中关闭Connection。它会导致线程/内存泄漏吗?
答案 0 :(得分:0)
如果您不手动执行,Sqlite连接将自动关闭。
例如:
try {
conn.close();
}
catch (Exception ex) {
System.out.println ("Error");
return false;
}
答案 1 :(得分:0)
if sqlite3_close(db) != SQLITE_OK {
print("error closing database")
}
哪里
var db: OpaquePointer?
var databaseFullPath: String = "" /// Location database.
if sqlite3_open(databaseFullPath, &db) != SQLITE_OK {
print("error opening database")
}
答案 2 :(得分:0)
通常,当 Connection
变量超出其使用范围并被垃圾收集系统(在 deinit
函数中)回收时,数据库会关闭。但有时它是您的类的属性之一,因此您可能希望在某些功能中间手动关闭它。因此这段代码有效:
sqlite3_close(db.handle)
其中 db
的类型为 Connection
。然后您可以覆盖数据库文件或删除它,不会引发警告。
无论如何,我强烈建议您以谨慎的方式设计代码,让系统释放句柄。