我正在尝试编写[String]
的扩展方法。[String]的Swift扩展?
看来你不能直接扩展[String]
(“类型‘元素’限制非协议类型‘字符串’”),虽然我遇到了这个窍门:
protocol StringType { }
extension String: StringType { }
但我仍然可以”牛逼相当使雨燕系统满意这个:
extension Array where Element: StringType {
// ["a","b","c","d","e"] -> "a, b, c, d, or e".
func joinWithCommas() -> String {
switch count {
case 0, 1, 2:
return joinWithSeparator(" or ")
default:
return dropLast(1).joinWithSeparator(", ") + ", or " + last!
}
}
}
的joinWithSeparator
电话是“暧昧”。我试过所有我能想到的东西,比如使用(self as! [String])
(和一些类似的变体),但似乎没有任何工作。
如何让Swift编译器对此感到满意?
的详细程度。 POP有它的副作用。感谢您的解决方案✌️ – eonist