The instance to represent in the new mirror. 新しいミラーの中で表現するインスタンス。
init(_:children:displayStyle:ancestorRepresentation:)
Availability
- iOS 8.0+
- iPadOS 8.0+
- macOS 10.10+
- Mac Catalyst 13.0+
- tvOS 9.0+
- watchOS 2.0+
- Xcode 10.2+
Technology
- Swift Standard Library Swift標準ライブラリ
Declaration 宣言
init<Subject>(_ subject: Subject, children: KeyValuePairs
<String
, Any>, displayStyle: Mirror
.DisplayStyle
? = nil, ancestorRepresentation: Mirror
.AncestorRepresentation
= .generated)
Parameters パラメータ
subject
children
A dictionary literal to use as the structure for the mirror. The
children
collection of the resulting mirror may be upgraded to a random access collection later. See thechildren
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.
ancestor
is ignored ifRepresentation subject
is not a class instance. The default is.generated
. 主題のもつ先祖表現を生み出す手段。ancestor
は、Representation subject
がクラスインスタンスでないならば無視されます。省略時は.generated
です。
Discussion 解説
You use this initializer from within your type’s custom
implementation to create a customized mirror. Pass a dictionary literal with string keys as children
. Although an actual dictionary is arbitrarily-ordered, when you create a mirror with a dictionary literal, the ordering of the mirror’s children
will exactly match that of the literal you pass.
あなたは、このイニシャライザをあなたの型のもつcustom
実装内部から使うことで、あつらえのミラーを作成できます。文字列キーを持つ辞書リテラルをchildren
として渡してください。actual辞書は気まぐれに順番付けられますが、あなたがミラーを辞書リテラルで作成する時、ミラーの持つchildren
の順番付けは正確にあなたが渡すリテラルのそれと一致します。
If subject
is a class instance, ancestor
determines whether ancestor classes will be represented and whether their custom
implementations will be used. By default, the custom
implementation of any ancestors is ignored. To prevent bypassing customized ancestors, pass .customized({ super
as the ancestor
parameter when implementing your type’s custom
property.
subject
がクラスインスタンスであるならば、ancestor
は、先祖クラスが表現されるかどうかをそしてcustom
実装が使われるかどうかを決定します。初期状態では、あらゆる先祖のcustom
実装は無視されます。あつらえの先祖を迂回することを防ぐには、.customized({ super
をancestor
パラメータとして、あなたの型のもつcustom
プロパティを実装する時に渡してください。