【问题标题】:What should be the return type of range: range or NSRange? [duplicate]range 的返回类型应该是什么:range 还是 NSRange? [复制]
【发布时间】:2018-09-26 23:04:10
【问题描述】:

我正在使用 swift 4,这段代码 sn-p 在初始化 n1 变量时给我一个错误:

 func caseInsensitiveSearch(searchString: String) -> NSRange?  {
        if let range = self.range(of: searchString, options: .caseInsensitive),
            let n1 = NSRange(range, in: self) {
                return n1
        }
        return nil
    }

我可以直接通过Range吗?或者需要转换成NSRange

有什么想法吗??

【问题讨论】:

  • "if let range = self.range(of: searchString, options: .caseInsensitive)" 如果 let 专门用于打开可选项,则您没有任何可选项。

标签: ios swift string range swift4


【解决方案1】:

这是因为你试图解绑一个非可选值,你可以像这样直接返回它:

func caseInsensitiveSearch(searchString: String) -> NSRange?  {
        if let range = self.range(of: searchString, options: .caseInsensitive) {
                return  NSRange(range, in: self)
        }
        return nil
    }

【讨论】:

    猜你喜欢
    • 2014-09-28
    • 2015-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    • 2021-07-04
    • 2016-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多