An iterator to type-erase. 型消去することになるイテレータ。
Generic Initializer
init(_:)
Creates an iterator that wraps a base iterator but whose type depends only on the base iterator’s element type.
基盤イテレータをラップするイテレータを作成します、しかしそれの型は基盤イテレータのもつ要素型にのみ影響を受けます。
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 8.3+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
init<I>(_ base: I) where Element == I.Element
, I : IteratorProtocol
Parameters パラメータ
base
Discussion 解説
You can use Any
to hide the type signature of a more complex iterator. For example, the digits()
function in the following example creates an iterator over a collection that lazily maps the elements of a Range<Int>
instance to strings. Instead of returning an iterator with a type that encapsulates the implementation of the collection, the digits()
function first wraps the iterator in an Any
instance.
あなたはAny
を使って、あるより複雑なイテレータの型シグネチャを隠すことができます。例えば、以下の例のdigits()
関数は、あるコレクションを覆うイテレータを作成します、それはRange<Int>
インスタンスの要素を文字列へと遅延にマップします。このコレクションの実装をカプセル化するある型をもつイテレータを返すのではなく、digits()
関数はイテレータをAny
インスタンスの中にまずラップします。