使用 objectsWhere() 查询 Realm 数据库时的 CVaListPointer
CVaListPointer when using objectsWhere() querying Realm database
我正在将我的代码更新到 swift 3.0。我将 Realm 用于数据库。我有以下代码行:
let thisJob = Jobs.objectsWhere("identifier == '\(identify)'")
编译器抛出错误,因为需要一个额外的参数。 "Missing argument for parameter 'args' in call"参数是一个CVaListPointer。我不确定我应该如何使用这个论点。我试过了:
let thisJob = Jobs.objectsWhere("identifier == '\(identify)'", args: CVaListPointer)
但是,该行的编译器错误是 "Cannot convert value of type CVaListPointer.Type to expected argument CVaListPointer."
Objective-C 接口中的 Varargs 未在 Swift 中导入,这就是为什么 Realm 为 Realm Objective-C 提供了一个 Swift 包装器的原因:RLMSupport.swift. Add that to your project's source files as described in Realm's installation instructions 并且您将能够使用 Jobs.objectsWhere("identifier == '\(identify)'")
.
尽管如果 identify
完全可以包含在进行字符串插值时应转义的字符,您最好将其作为格式参数传递:
Jobs.objectsWhere("identifier == %@", identify)
我正在将我的代码更新到 swift 3.0。我将 Realm 用于数据库。我有以下代码行:
let thisJob = Jobs.objectsWhere("identifier == '\(identify)'")
编译器抛出错误,因为需要一个额外的参数。 "Missing argument for parameter 'args' in call"参数是一个CVaListPointer。我不确定我应该如何使用这个论点。我试过了:
let thisJob = Jobs.objectsWhere("identifier == '\(identify)'", args: CVaListPointer)
但是,该行的编译器错误是 "Cannot convert value of type CVaListPointer.Type to expected argument CVaListPointer."
Objective-C 接口中的 Varargs 未在 Swift 中导入,这就是为什么 Realm 为 Realm Objective-C 提供了一个 Swift 包装器的原因:RLMSupport.swift. Add that to your project's source files as described in Realm's installation instructions 并且您将能够使用 Jobs.objectsWhere("identifier == '\(identify)'")
.
尽管如果 identify
完全可以包含在进行字符串插值时应转义的字符,您最好将其作为格式参数传递:
Jobs.objectsWhere("identifier == %@", identify)