2016-03-03 16 views
6

Tôi gặp lỗi trong mã của tôi như "Không thể chuyển đổi giá trị của loại 'NSRange' (aka '_NSRange') để dự đoán loại đối số 'Range' (aka 'Range') "nhưng tôi không biết làm thế nào để giải quyết này xin vui lòng bất kỳ một giúp tôi?Không thể chuyển đổi giá trị của loại 'NSRange' (aka '_NSRange') thành loại đối số dự kiến ​​'Phạm vi <Index>' (aka 'Range <String.CharacterView.Index>')

Ở đây tôi đăng mã của mình.

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) 
      } 

Trả lời

9

Bạn nên chuyển đổi strNumber để NSString: var strNumber: NSString = txtPhoneNumber.text!

More đây: NSRange to Range<String.Index>

+0

Cảm ơn bạn rất nhiều vì sự giúp đỡ của bạn, nó rất hữu ích cho tôi .. . @ lịch sự –

1

substringWithRange phương pháp làm việc cho NSString loại

var strNumber: String = txtPhoneNumber.text! 

thay đổi trên đường

var strNumber: NSString = txtPhoneNumber.text as! NSString 
6

Swift 4:

typecaste đầu tiên để một chuỗi, và sau đó sử dụng các phương thức lớp trên chuỗi typecasted này

let typeCasteToStringFirst = textField.text as NSString? 
let newString = typeCasteToStringFirst?.replacingCharacters(in: range, with: string) 
Các vấn đề liên quan