1
我有一個協議Points
,該方法應該返回一個有序的Point
實例序列。在Swift中返回一個序列3
我會返回一個數組,但我可以返回更多的東西通用的,這樣的Points
實現不需要在將數據複製到一個數組中?
我試着這樣做:
protocol Points {
var points: Sequence {get}
}
但得到的錯誤:
Protocol 'Sequence' can only be used as a generic constraint because it has Self or associated type requirements
在我讀到SequenceOf
舊的問題,但是這似乎並沒有在斯威夫特3.
下面是Points
協議的示例實現:
extension PointSetNode: Points {
var points: ?????? {
return children.map{$0.points}.joined()
}
}
...這裏,children
是一個數組。
比較https://stackoverflow.com/q/33843038/2976878 - 你想'AnySequence',這是相當於Swift 1的'SequenceOf'。 – Hamish
可愛,是的,就是這樣。你想做出答案嗎?否則,我很樂意自我回答。 – Benjohn
嗯,我會說不如剛剛接近愚蠢 - 但如果你覺得添加自我回答將是有益的,去吧:) :) – Hamish