2016-07-13 18 views
29
var numbers = "Hello,Goodbye,Hi,Bye" 
var numbersArr = numbers.componentsSeparatedByString(",") 

//["Hello"."Goodbye","Hi","Bye"]componentsSeparatedByString() Błąd w Swift 3

Powyżej jest podstawowym reprezentacja, co usiłuję zrobić. Próbuję użyć componentsSeparatedByString(), aby podzielić ciąg znaków przecinkami na tablicę, gdzie każdy z komponentów tablicy znajduje się pomiędzy każdym z przecinków z oryginalnych ciągów.

Używam IBM Swift Sandbox (przepraszam, jestem na windows :)), aw Swift 3.0, otrzymuję komunikat o błędzie:

value of type 'String' has no member 'componentsSeparatedByString' 

wiem Swift 3 jest dość nowy, i jest to, dlatego nie mogłem znaleźć żadnych innych odniesień do tego błędu.

+0

To pytanie jest o Fundacji kakaowy, Swift. Czy masz dostęp do struktury Cocoa Foundation w systemie Windows? – matt

+1

Myślę, że tak (IBM Swift Sandbox działa na Linuksie), ale istnieje również metoda "czystego Swift" 'split()', która nie wymaga Foundation, patrz na przykład http://stackoverflow.com/questions/ 25226940/swift-version-of-componentsseparatedbystring –

Odpowiedz

85

Wygląda na to, że jest components(separatedBy:) na String:

import Foundation 

let words = "apple binary cat delta echo".components(separatedBy: " ") 
print(words) 

enter image description here

IBM zabaw Link: http://swiftlang.ng.bluemix.net/#/repl/57868332b4e4e9971bf9f4e8

+16

Nie publikuj zdjęć kodu. Kod pocztowy. – matt

+3

Ta metoda jest dostarczana przez Fundację. Aby uzyskać tę możliwość, musisz "zaimportować Foundation" (zwróć uwagę, że 'importuj UIKit' i' importuj Cocoa' oba 'import Foundation' dla ciebie). – vacawama

+0

@vacawama Ale czy może to zrobić w systemie Windows? Nie sądzę. – matt