以下代码引发以下错误:“类型字符串的值没有成员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} }