我正在嘗試編寫[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