1
をアンラップ、私はSwift3、最も優れたSQLite.swiftで(SQLite.swift中)<Binding>オプション
let stmt = try local.db!.prepare(..)
for row in stmt {
for tricky in row {
を持っている各 "トリッキー" は、それぞれのラップを解除するには、私が知っている唯一の方法Optional<Binding>
ですトリッキーなこの
のvar印刷可能なようなものです:文字列= "
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の型を取得する」ことを知らない方法があるかもしれませんが、それはクールですが、前項の質問は残っています
あなたはを参照、switchステートメントを使用することができ、switchステートメントのこの種は、次のようになりますのためのサンプルコード例[パターンマッチし、1つのSwitch文で条件付きでバインド](http://stackoverflow.com/q/38980403/2976878) – Hamish
http://stackoverflow.com/a/33975661/2303865 –
右: nil case "DuncanCの説明は可能です – Fattie