以下代码抛出以下错误:“string类型的值没有成员componentsSeparatedByCharactersInSet”
此代码来自另一个在swift版本1或2中运行但之前不再有效的项目。
import Foundation
extension String {
func split() -> [String] {
return self.componentsSeparatedByCharactersInSet(
CharacterSet.whitespaceAndNewlineCharacterSet())
.filter({$0 != ""});
}
}
extension Array {
func unique<T: Equatable>() -> [T] {
var uniqueValues = [T]();
for value in self {
if !contains(uniqueValues, value as T) {
uniqueValues.append(value as! T);
}
}
return uniqueValues;
}
func first<T>(test:(T) -> Bool) -> T? {
for value in self {
if test(value as! T) {
return value as? T;
}
}
return nil;
}
}
答案 0 :(得分:10)
您正在寻找components(separatedBy:)
:
func split() -> [String] {
return self.components(separatedBy: .whitespacesAndNewlines).filter{!$0.isEmpty}
}