1
我正在使用FMDatabase
,並且想要傳遞一個可能包含可選值的參數數組。這個編譯好,但問題是,我不能得到它的工作沒有得到有關隱式強制的警告。如果我通過一個[Any?]
數組,我會在函數中得到一個警告,但是如果我將它傳遞給一個[Any]
數組,每當向數組添加一個可選項時,我都會收到警告。我已經能夠做的最好的是與此代碼剪下來到一個警告:在沒有任何警告的情況下將[Any?]投射到[Any]
extension FMDatabase {
func executeQuery(_ sql: String, withArgumentsIn: [Any?]) -> FMResultSet {
// generates a warning:
// "Expression implicitly coerced from 'Any?' to Any"
return self.executeQuery(sql, withArgumentsIn: withArgumentsIn as [Any])
}
}
我知道你可以使用as Any
以避免與常規Any
對象的問題,但我不明白瞭解如何使用數組來完成它。