2017-08-24 114 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