【问题标题】:Cannot invoke filter with an argument list of type ((_) -> _)无法使用 ((_) -> _) 类型的参数列表调用过滤器
【发布时间】:2015-07-01 20:40:29
【问题描述】:

我正在尝试按标题过滤。我收到这个错误

class Incident {
    var title: String = ""
}

if sender.text != "" {
    self.incidents = incidents.filter { $0.title.rangeOfString(sender.text, options: NSStringCompareOptions.CaseInsensitiveSearch) == "hola" }
} 

有什么想法吗?

【问题讨论】:

  • 将异常发布为纯文本。屏幕截图是选项,但出于多种原因,您绝对应该在其中包含纯文本....
  • rangeOfString(...) == "hola" 没有意义,因为 rangeOfString 返回的是(可选)范围,而不是字符串。你想达到什么目的?
  • 过滤带有 hola 字样的标题

标签: ios swift


【解决方案1】:

rangeOfString() 返回一个可选范围,即nil,如果 未找到字符串。过滤所有 title 包含的对象 字符串“hola”应该是(未经测试):

self.incidents = incidents.filter {
    $0.title.rangeOfString("hola", options: .CaseInsensitiveSearch) != nil
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多