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

//["Hello"."Goodbye","Hi","Bye"]componentsSeparatedByString() Errore a Swift 3

Sopra è una rappresentazione di base di quello che sto cercando di fare. Sto cercando di utilizzare componentsSeparatedByString() per dividere una stringa con virgole in una matrice, in cui ciascuno dei componenti della matrice si trova tra ciascuna delle virgole delle stringhe originali.

sto usando IBM Swift Sandbox (Scusate, sono in finestre :)), in Swift 3.0, sto ottenendo questo messaggio di errore:

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

So Swift 3 è piuttosto nuovo, e è per questo che non sono riuscito a trovare QUALSIASI altro riferimento per questo errore.

+0

Questa domanda è su Cocoa Foundation, non Swift. Sei in grado di accedere al framework Cocoa Foundation su Windows? – matt

+1

Penso che lo faccia (l'IBM Swift Sandbox gira su Linux), ma esiste anche un metodo "pure Swift" 'split()' che non richiede Foundation, per esempio http://stackoverflow.com/questions/ 25226940/swift-version-of-componentsseparatedbystring –

risposta

85

Sembra ci sia un components(separatedBy:) su String:

import Foundation 

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

enter image description here

IBM Playground link: http://swiftlang.ng.bluemix.net/#/repl/57868332b4e4e9971bf9f4e8

+16

Non pubblicare immagini di codice. Codice postale – matt

+3

Questo metodo è fornito da Foundation. È necessario "importare Foundation" per ottenere questa funzionalità (si noti che "importa UIKit" e "importa Cocoa" entrambi "import Foundation" per te). – vacawama

+0

@vacawama Ma può farlo anche su Windows? Io non la penso così – matt