Generic Initializer

init(_:children:displayStyle:ancestorRepresentation:)

Creates a mirror representing the given subject with a specified structure. 与えられた主題を表すミラーを指定の構造体で作成します。

Declaration 宣言

init<Subject, C>(_ subject: Subject, children: C, displayStyle: Mirror.DisplayStyle? = nil, ancestorRepresentation: Mirror.AncestorRepresentation = .generated) where C : Collection, C.Element == Mirror.Child

Parameters パラメータ

subject

The instance to represent in the new mirror. 新しいミラーの中で表現するインスタンス。

children

The structure to use for the mirror. The collection traversal modeled by children is captured so that the resulting mirror’s children may be upgraded to a bidirectional or random access collection later. See the children property for details. ミラーのために使う構造体。childrenによる走査型のコレクションはキャプチャされます、それで結果となるミラーのもつ子らは、双方向または無作為アクセスのコレクションに後でアップグレードできます。childrenプロパティを詳細として見てください。

displayStyle

The preferred display style for the mirror when presented in the debugger or in a playground. The default is nil. デバッガにまたはプレイグラウンドに含まれる時のミラーのための優先表示形式。省略時にはnilです。

ancestorRepresentation

The means of generating the subject’s ancestor representation. ancestorRepresentation is ignored if subject is not a class instance. The default is .generated. 主題のもつ先祖表現を生み出す手段。ancestorRepresentationは、subjectがクラスインスタンスでないならば無視されます。省略時は.generatedです。

Discussion 解説

You use this initializer from within your type’s customMirror implementation to create a customized mirror. あなたは、このイニシャライザをあなたの型のもつcustomMirror実装内部から使うことで、あつらえのミラーを作成できます。

If subject is a class instance, ancestorRepresentation determines whether ancestor classes will be represented and whether their customMirror implementations will be used. By default, the customMirror implementation of any ancestors is ignored. To prevent bypassing customized ancestors, pass .customized({ super.customMirror }) as the ancestorRepresentation parameter when implementing your type’s customMirror property. subjectがクラスインスタンスであるならば、ancestorRepresentationは、先祖クラスが表現されるかどうかをそしてcustomMirror実装が使われるかどうかを決定します。初期状態では、あらゆる先祖のcustomMirror実装は無視されます。あつらえの先祖を迂回することを防ぐには、.customized({ super.customMirror })ancestorRepresentationパラメータとして、あなたの型のもつcustomMirrorプロパティを実装する時に渡してください。