Próbuję stworzyć aplikację dla systemu iOS w Swift, która wymaga podziału wiersza tekstu na pierwszym dwukropku (:) linii. Próbowałem już używać metody componentsSeparatedByString w łańcuchu, ale oprócz otrzymania błędu stwierdzającego, że "NSString" nie ma członka o nazwie "componentSeparatedByString" ", ta metoda faktycznie nie robi tego, co chcę.Swift split string przy pierwszym dopasowaniu postaci
Dla nieco więcej kontekstu, staram się oddzielić linię w sztuce, że bycie w formie
<character name> : <line>
pod nazwą bohatera i linii. Zakładam, że w nazwie postaci nie ma dwukropka, więc chcę podzielić na pierwszą dwukropek w linii, aby nie rozbijać tekstu linii na kawałki, jeśli w tekście są jakieś dwukropki.
Moje pierwsze pytanie: Dlaczego użycie "componentsSeparatedByString" nie jest poprawne w poniższym kodzie: (poniższy kod nie jest sytuacją, o której wspomniałem wcześniej, ale jest to coś, co chcę naprawić i zachować, więc chciałem go używać zamiast dwukropka kodu zerwania)
var fileRoot = NSBundle.mainBundle().pathForResource("LonelyImpulse", ofType: "txt")
var contents = NSString(contentsOfFile:fileRoot!, encoding: NSUTF8StringEncoding, error: nil)!
let stringArray = contents.componentSeparatedByString("\n")
i mój drugi. w jaki sposób można podzielić ciąg wzdłuż tylko w pierwszym meczu z dwukropkiem (:) znaków, zamiast wzdłuż wszystkich meczów?
I * * zdecydowanie ** polecam przy użyciu podziału, jest nieprzyjemny problem podczas korzystania z componentsSeparatedByString na Swift 1.2. –
@MauryMarkowitz, jaki jest nieprzyjemny problem? – Suragch
@Suragch Nie pamiętam * dokładnie *, ale był to problem pomostowy, który powodował błędy. Jedynie debugowałem go, zmieniając kolejną linię kodu i zauważając, że się nie zawiesił, chociaż podobno to robiło to samo. –