【问题标题】:Cannot convert value of type 'NSRange' (aka '_NSRange') to expected argument type 'Range<Index>' (aka 'Range<String.CharacterView.Index>')无法将类型“NSRange”(又名“_NSRange”)的值转换为预期的参数类型“Range<Index>”(又名“Range<String.CharacterView.Index>”)
【发布时间】:2016-03-03 05:24:32
【问题描述】:

我的代码中有一个错误,例如“无法将 'NSRange'(又名 '_NSRange')类型的值转换为预期的参数类型 'Range'(又名'Range')”,但我不知道如何解决这个问题请任何人帮助我?

我在这里发布我的代码。

NSUserDefaults.standardUserDefaults().setObject("Hey I have started using this Chat App", forKey: "Status")
            var strNumber: String = txtPhoneNumber.text!
            var myRange: NSRange = NSMakeRange(0, 2)
            var myRange1: NSRange = NSMakeRange(0, 1)
            var ran: String = strNumber.substringWithRange(myRange)  ------>  //This line error shows.
            var ran1: String = strNumber.substringWithRange(myRange1)
            if (ran == "00") || (ran == "60") || (ran == "62") || (ran == "65") || (ran == "91") || (ran == "44") {
                strNumber = strNumber.stringByReplacingOccurrencesOfString(ran, withString: "") as String
            }
            else if (ran1 == "0") {

                strNumber = strNumber.stringByReplacingOccurrencesOfString(ran1, withString: myRange1) as NSString
                //str_number = str_number.stringByReplacingOccurrencesOfString(ran1, withString: "", options: NSCaseInsensitiveSearch, range: myRange1)
            }

【问题讨论】:

    标签: swift nsrange


    【解决方案1】:

    您应该将strNumber 转换为NSString:var strNumber: NSString = txtPhoneNumber.text!

    更多:NSRange to Range<String.Index>

    【讨论】:

    • 非常感谢您的帮助,对我很有用...@courteous
    【解决方案2】:

    斯威夫特 4:

    先对字符串进行类型转换,然后对该类型转换的字符串使用类方法

    let typeCasteToStringFirst = textField.text as NSString?
    let newString = typeCasteToStringFirst?.replacingCharacters(in: range, with: string)
    

    【讨论】:

      【解决方案3】:

      substringWithRange 方法适用于NSString 类型

      var strNumber: String = txtPhoneNumber.text!
      

      改变上面的行

      var strNumber: NSString = txtPhoneNumber.text as! NSString
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 1970-01-01
        相关资源
        最近更新 更多