2
序列的協議序列的協議所需的方法
是夫特協議,因此所有它是所需要的方法。
考慮看看它的聲明,我現在已經看到有很多的方法,比如
makeIterator(), map(), filter()
等等...
我不知道爲什麼只
makeIterator()是必需的
方法。
這不是一個@objc協議與可選關鍵字,它不是協議的擴展名,它不符合任何其他協議。這是一種簡單的Swift協議。
有什麼想法?
序列的協議序列的協議所需的方法
是夫特協議,因此所有它是所需要的方法。
考慮看看它的聲明,我現在已經看到有很多的方法,比如
makeIterator(), map(), filter()
等等...
我不知道爲什麼只
makeIterator()是必需的
方法。
這不是一個@objc協議與可選關鍵字,它不是協議的擴展名,它不符合任何其他協議。這是一種簡單的Swift協議。
有什麼想法?
「這不是一個協議的擴展名」 - 不,「Sequence」確實爲其餘的需求提供了默認實現,例如'map' [默認實現在這裏](https://github.com/apple/) swift/blob/da069590de164b7d4a0355cd621dc7153869c70d/stdlib/public/core/Sequence.swift#L831),'filter'的[默認實現在這裏](https://github.com/apple/swift/blob/da069590de164b7d4a0355cd621dc7153869c70d/stdlib/public /core/Sequence.swift#L867)。請注意,當序列是自己的迭代器時,還有'makeIterator()'的默認實現。 – Hamish
哦,夥計!我正在尋找在同一個文件中的默認實現,但我無法找到它。事實上,我已經寫道,它不是協議的擴展,因爲我在該文件中找到了默認實現。非常感謝! – ndPPPhz
@Hamish看起來像一個完全有效的答案,爲什麼不張貼呢? – Alladinian