2016-03-03 1 views
6

J'ai une erreur dans mon code comme "Impossible de convertir la valeur de type 'NSRange' (alias '_NSRange') au type d'argument attendu 'Range' (alias 'Range') "mais je ne sais pas comment résoudre ceci s'il vous plaît quelqu'un m'aider?Impossible de convertir la valeur de type 'NSRange' (alias '_NSRange') en type d'argument attendu 'Range <Index>' (alias 'Range <String.CharacterView.Index>')

Ici, je poste mon code.

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

Répondre

9

Vous devez convertir strNumber à NSString: var strNumber: NSString = txtPhoneNumber.text!

Plus ici: NSRange to Range<String.Index>

+0

Merci beaucoup pour votre aide, il est utile pour moi .. [email protected] –

1

méthode fonctionne pour substringWithRangeNSString Type

var strNumber: String = txtPhoneNumber.text! 

changement dessus de la ligne

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

Swift 4:

Première typecaste à une chaîne, puis utilisez la méthode de classe sur cette chaîne typecasted

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