作者:星空下看太阳- | 来源:互联网 | 2023-05-23 17:49
1> Martin R..:
sqlite3_column_bytes
返回一个Int32
,但是
NSData(bytes:, length: )
期望Int
第二个参数,因此您必须显式转换该值:
let dbData = NSData(bytes: point, length: Int(len))
还需要注意的是这个NSData
初始化并没有返回一个可选的,因此其分配给var dbData:NSData?
使没有太大意义,即使如此,dbData
永远不会nil
.
您可以做的是检查是否sqlite3_column_blob()
返回nil
:
let len = sqlite3_column_bytes(compiledStatement, 0)
let point = sqlite3_column_blob(compiledStatement, 0)
if point != nil {
let dbData = NSData(bytes: point, length: Int(len))
// ...
}