错误:typesstring的值没有成员componentsSeparatedByCharactersInSet

以下代码将引发以下错误:“typesstring的值没有成员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; } } 

你正在寻找components(separatedBy:)

 func split() -> [String] { return self.components(separatedBy: .whitespacesAndNewlines).filter{!$0.isEmpty} }