2016-07-11 13 views
22

Mam problem z używaniem stringByReplacingOccurencesOfString() w najnowszej wersji Xcode 8.2 Beta. Podczas korzystania z funkcji Xcode pokazuje, że typ wartości łańcucha nie ma elementu.stringByReplacingOccurencesOfString() dla Swift 3.0

var clockworkSmsUrl = "https://api.clockworksms.com/http/send.aspx?" 
         + "key=123456789abcd" 
         + "to=" 
         + usersNumber! 
         + "&content=" 
         + usersTextMessage! 

clockworkSmsUrl.stringByReplacingOccurrencesOfString(" ", withString: "+") 
var clockworkSmsURLconvert = NSURL(string: clockworkSmsUrl) 

Jakieś pomysły?

+4

Zauważ, że istnieje "Edycja -> Konwertuj na -> Najnowsza składnia Swift", czy próbowałeś tego? - Btw, twój kod odrzuca wynik konwersji, czy to twój prawdziwy kod? –

+0

Wszystko, co musisz wiedzieć o zmianach, znajdziesz tutaj: https://github.com/apple/swift-evolution/blob/master/proposals/0006-apply-api-guidelines-to-the-standard-library.md – Moritz

+1

@MartinR, "Edycja -> Konwertuj na -> Najnowsza składnia Swift" nie działa dla wszystkich, W moim przypadku muszę rozwiązać ponad 400 błędów związanych z konwersją na własną rękę. – infiniteLoop

Odpowiedz

79

można naprawić fragment używając ...

clockworkSmsUrl.replacingOccurrences(of: " ", with: "+") 

Swift 3 zmienił sposób, w jaki objc API są importowane.

Należy pamiętać, że istnieją pewne problemy z kodem ty Wysłany:

  • wynikiem replacingOccurrences jest odrzucany.
  • jest więcej znaków, które można uciec.
  • URLCompontents udostępnia bezpieczniejsze sposoby tworzenia adresów URL.
Powiązane problemy