【问题标题】:How can I fix this error?: Type '(String!, args: CVaListPointer)' does not conform to protocol 'StringLiteralConvertible'如何解决此错误?:类型“(字符串!,参数:CVaListPointer)”不符合协议“StringLiteralConvertible”
【发布时间】:2014-12-01 18:46:26
【问题描述】:

我有这个代码:

let articleConflict = Article.objectsWhere("title = 'test'")

我收到此错误:

Type '(String!, args: CVaListPointer)' does not conform to protocol 'StringLiteralConvertible'

我做错了什么?

【问题讨论】:

标签: swift realm


【解决方案1】:

不确定为什么您会收到该消息(顺便说一句,您使用的是哪个 Xcode 版本?)但 Swift 不支持可变参数 C 函数。创建 NSPredicate 实例然后调用 objectsWithPredicate 方法会更好:

let testPredicate = NSPredicate(format: "title ==[c] 'test'")
let articleConflict = Article.objectsWithPredicate(testPredicate)

【讨论】:

  • 我不明白为什么人们应该更喜欢“objectsWithPredicate”而不是“objectsWhere”。 p.s.感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多