最近、SQLite.swift を使用してアプリ データベースを構築しています。ドキュメントで説明されているように、すべてのINTEGER
列を型で定義しています。Int64
しかし、時々、私はそれInt64
がただである必要がありInt
ます。だから私の質問は、私がこれを行う場合です:
//Create a table with Int instead of Int64
let test_id = Expression<Int>("test_id")
let tests = db["tests"]
db.create(table: tests, ifNotExists: true){ t in
t.column(test_id)
}
class func insertTest(t: Int) -> Int{
//insert.rowid returns an Int64 type
let insert = tests.insert(test_id <- t)
if let rowid = insert.rowid{
//directly cast Int64 into Int
return Int(rowid)
}
return 0
}
それは正しいでしょうか?
もちろん、私はそれをテストしました。それは機能しますが、私はこの質問をStackoverflowで読んでいました
そして、32ビットデバイスで問題が発生する可能性があるようです...
これが間違っている場合、どうすれば にキャストできInt64
ますInt
か?