找不到接受类型为“([Int], Expression<String>)”的参数列表的 'contains' 的重载
Cannot find an overload for 'contains' that accepts an argument list of type '([Int], Expression<String>)'
我试过表达式:
userTable.filter(contains([1, 2, 3, 4, 5], entryId))
来自示例。但是我收到以下错误:
Cannot find an overload for 'contains' that accepts an argument list of type '([Int], Expression<String>)'
我怎样才能让它工作?
SQLite.swift 与 Swift 本身一样,是类型安全的,因此您筛选的列表达式必须与您正在检查的数组的类型相同。
entryId
似乎是 Expression<String>
类型,这类似于编写以下香草 Swift:
contains([1, 2, 3, 4, 5], "1")
这实际上失败了,并出现了非常相似的错误消息。
Cannot find an overload for 'contains' that accepts an argument list of type '([Int], String)'
如果您希望 entryId
是一个 Int
,那么它应该定义为:
let entryId = Expression<Int>("entryId")
进行此更改后,contains
应该可以正常工作。
我试过表达式:
userTable.filter(contains([1, 2, 3, 4, 5], entryId))
来自示例。但是我收到以下错误:
Cannot find an overload for 'contains' that accepts an argument list of type '([Int], Expression<String>)'
我怎样才能让它工作?
SQLite.swift 与 Swift 本身一样,是类型安全的,因此您筛选的列表达式必须与您正在检查的数组的类型相同。
entryId
似乎是 Expression<String>
类型,这类似于编写以下香草 Swift:
contains([1, 2, 3, 4, 5], "1")
这实际上失败了,并出现了非常相似的错误消息。
Cannot find an overload for 'contains' that accepts an argument list of type '([Int], String)'
如果您希望 entryId
是一个 Int
,那么它应该定义为:
let entryId = Expression<Int>("entryId")
进行此更改后,contains
应该可以正常工作。