最も優れた SQLite.swift では、
let stmt = try local.db!.prepare(..)
for row in stmt {
for tricky in row {
それぞれの「トリッキー」はOptional<Binding>
各トリッキーをアンラップするために私が知っている唯一の方法は、このようなものです
var printable:String = "
if let trickyNotNil = tricky {
if let anInt:Int64 = trickyNotNil as? Int64 {
print("it's an Int")
.. use anInt
}
if let aString:String = trickyNotNil as? String {
print("it's a String")
.. use aString}
}
else {
tricky is nil, do something else
}
この例では、Int64 または String (または String に渡されるもの) のいずれかのみであると確信しています。おそらくデフォルトのケースで、他の可能性をカバーする必要があると思います。
より迅速な方法はありますか?
の型を取得する方法はありOptional<Binding>
ますか?
(ところで、特に SQLite.swift に関しては、「列 n の型を取得する」ために doco から私が知らない方法があるかもしれません。それはクールですが、前の段落の質問は一般的に残っています。 )