компонентыSeparatedByString() Ошибка в Swift 3

var numbers = "Hello,Goodbye,Hi,Bye"
var numbersArr = numbers.componentsSeparatedByString(",")

//["Hello"."Goodbye","Hi","Bye"]

Выше приведено базовое представление того, что я пытаюсь сделать. Я пытаюсь использовать componentsSeparatedByString() для разделения строки с запятыми на массив, где каждый из компонентов массива находится между каждой запятой из исходных строк.

Я использую IBM Swift Sandbox (извините, я в Windows :)), а в Swift 3.0 я получаю это сообщение об ошибке:

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

Я знаю, что Swift 3 довольно новый, и поэтому я не смог найти НИКАКИХ других ссылок на эту ошибку.


person Ethan Rappaport    schedule 13.07.2016    source источник
comment
Этот вопрос касается Cocoa Foundation, а не Swift. Вы даже можете получить доступ к платформе Cocoa Foundation в Windows?   -  person matt    schedule 13.07.2016
comment
Я думаю, что да (песочница IBM Swift работает в Linux), но есть и чистый метод Swift split(), который не требует Foundation, см., например, stackoverflow.com/questions/25226940/   -  person Martin R    schedule 13.07.2016


Ответы (1)


Похоже, есть components(separatedBy:) на String:

import Foundation

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

введите здесь описание изображения

Ссылка на IBM Playground: http://swiftlang.ng.bluemix.net/#/repl/57868332b4e4e9971bf9f4e8

person Steven Hepting    schedule 13.07.2016
comment
Этот метод предоставляется Фондом. Вам нужно import Foundation, чтобы получить эту возможность (обратите внимание, что import UIKit и import Cocoa оба import Foundation для вас). - person vacawama; 13.07.2016
comment
@vacawama Но может ли он сделать это даже в Windows? Я так не думаю. - person matt; 13.07.2016
comment
Он использует песочницу IBM. Это работает там с import Foundation. - person vacawama; 13.07.2016
comment
Он отлично работает, пока был импортирован фундамент, даже в песочнице IBM Swift для Windows. Огромное спасибо!!! - person Ethan Rappaport; 14.07.2016
comment
Спасибо за это исправление, в компиляторе Xcode 8, бета-версии 6 есть ошибка, которая предлагает изменить на componentsSeparatedByString(by:","), а затем предлагает снова изменить его! Так что это было здорово найти. - person sketchyTech; 30.08.2016