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

//["Hello"."Goodbye","Hi","Bye"]componentsSeparatedByString() Fehler bei Swift 3

Oben ist eine Prinzipdarstellung, was ich zu tun werde versuchen. Ich versuche componentsSeparatedByString() zu verwenden, um eine Zeichenfolge mit Kommas in ein Array aufzuteilen, wobei sich jede der Komponenten des Arrays zwischen jedem der Kommas aus den ursprünglichen Zeichenfolgen befindet.

Ich verwende IBM Swift Sandbox (Sorry, ich bin auf Windows :)), und in Swift 3.0, erhalte ich diese Fehlermeldung:

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

Ich weiß Swift 3 ziemlich neu ist, und Deshalb konnte ich keine anderen Referenzen für diesen Fehler finden.

+0

Diese Frage ist über Cocoa Foundation, nicht Swift. Können Sie sogar auf Cocoa Foundation-Framework unter Windows zugreifen? – matt

+1

Ich denke, es tut (die IBM Swift Sandbox läuft unter Linux), aber es gibt auch eine "pure Swift" 'split()' Methode, die keine Foundation benötigt, siehe zum Beispiel http://stackoverflow.com/questions/ 25226940/swift-version-of-componentsseparatedbystring –

Antwort

85

Es sieht aus wie ein components(separatedBy:) auf String ist:

import Foundation 

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

enter image description here

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

+16

Veröffentlichen Sie keine Bilder des Codes. Postleitzahl – matt

+3

Diese Methode wird von Foundation bereitgestellt. Sie müssen "Foundation importieren", um diese Funktion zu erhalten (beachten Sie, dass "import UIKit" und "import Cocoa" sowohl "import Foundation" für Sie importieren). – vacawama

+0

@vacawama Aber kann er das auch unter Windows machen? Ich denke nicht. – matt