2017-08-24 158 views
0

我現在用的是sqlite.swift庫中找到hereSqlite.swift缺少標籤「其中」

下面是代碼我使用的過濾結果:

.filter(mdm[assetTag] != "ipad" && location == facility && [tagArray].contains(appversion)) 

我收到以下錯誤.contains部分:

呼叫中缺少參數標籤'where'。

我在閱讀自述文件,並且不應該在過濾器的.contains部分中添加where子句。

更新:

數組的聲明如下:

var tagarray = [String]() 

let appversion = Expression<String>("appversion") 
+0

請發表'tagArray'和'appversion'的聲明。我知道問題是什麼,但需要值來提供確切的答案 – nathan

+0

對原始問題添加了聲明。 – Martheli

+0

'tagArray.contains(appversion)'而不是? – Larme

回答

0

Xcode認爲你正在使用的where(_:)庫定義雨燕的contains(where:)代替。

enter image description here

你的變量appversion需求是Expression<String>類型。

let appversion = Expression<String>("appversion") 
let tags = ["1.0","2.0.0","3.0"] 

someTable.filter(tags.contains(appversion)) 
+0

我已經將appversion定義爲表達式。 – Martheli

+0

看起來不像它。我剛剛發佈了所有可用的「包含」功能。如果它是Expression類型,那麼哪裏甚至不適用 – nathan

+0

如果我改變過濾器和硬代碼值就像你用「1」,「2」等做的那樣錯誤消失,但是當我使用tagArray時,我得到錯誤。 – Martheli