作为一名电影制片人,试图学习编程,我发现很难正确地将我的问题概括为一个解释性标题。但是,这里我有更深入的解释。
在iOS应用中,我需要保存一个整数数组(2,4,5)。据我所知,最好的方法是创建一个字符串并将该字符串作为文本保存到数据库中。
到目前为止,这工作正常,但是现在我需要选择数组(字符串)中某个Int的所有记录。我可以选择整个表并再次创建数组,但这似乎不正确。有没有更正确/更清洁的方法来进行sqlite调用并仅获取找到Int的行?
到目前为止,我有这个: 我在其中明确为列创建表达式的类:
...
let listOfIntegers = Expression<String>("listOfIntegers")
...
某些功能需要查询Int是否存在:
...
do {
let query = tbl_IDs.select(id).filter(Array(listOfIntegers).contains(search_id))
...
这将引发错误:“ 无法为类型为'(Expression)'的参数列表的类型为'Array <_>'的初始化程序”
所以我的解决方案是将表达式设置为Array而不是String:
...
let listOfIntegers = Expression<Array>("listOfIntegers")
...
Xcode引发错误并提出以下建议:“ 调用中参数#2缺少参数” “ 插入',<#[Binding?]#>'”
当我这样做时:
...
let listOfIntegers = Expression<Array>("listOfIntegers", <#[Binding?]#>)
...
又有一个错误:“ 无法将类型'()'的值转换为预期的参数类型'[Binding?]'”
现在我在甜点中,不知道该怎么办。我试图找出这些绑定应该是什么,但对我来说却毫无意义。
我在朝着正确的方向前进吗?我正在做一些完全疯狂的事情吗?