Swift 標準ライブラリ   >   Mirror   >   init(_:unlabeledChildren:displayStyle:ancestorRepresentation:)


汎用イニシャライザ


init(_:unlabeledChildren:displayStyle:ancestor
Representation:)


optional の displayStyle を使用して、unlabeledChildren によって与えられた child の値を持つ subject を表します。結果の child のラベルはすべて nil になります。





宣言


init<Subject, C : Collection where C.SubSequence : Collection, C.SubSequence.SubSequence == C.SubSequence, C.Indices : Collection, C.Indices.Iterator.Element == C.Index, C.Indices.Index == C.Index, C.Indices.SubSequence == C.Indices>(_ subject: Subject, unlabeledChildren: C, displayStyle: Mirror.DisplayStyle? = default, ancestorRepresentation: Mirror.AncestorRepresentation = default)


議論


このイニシャライザは、collection の mirror の時に、特に便利です。例えば:


extension MyArray : CustomReflectable {
  var customMirror: Mirror {
    return Mirror(self, unlabeledChildren: self, displayStyle: .collection)
  }
}

subject がクラスインスタンスでない場合、ancestorRepresentation は無視されます。それ以外の場合、ancestorRepresentation は、祖先クラスが表現できるかどうか、およびそれらの customMirror の実装が使用されるかどうかを決定します。デフォルトでは、表現は自動的に生成され、すべての customMirror 実装はバイパスされます。カスタマイズされた祖先をバイパスするのを防ぐために、customMirror のオーバーライドは、Mirror を以下のように初期化する必要があります。


ancestorRepresentation: .customized({ super.customMirror })

注意: children のインデックス(ForwardIndex、BidirectionalIndex、または RandomAccessIndex) でモデル化された横断する(traversal) プロトコルは、結果の Mirrorchildren が後でアップグレードできるようにキャプチャーされます。詳細については、AnyBidirectionalCollectionAnyRandomAccessCollection の失敗可能イニシャライザを参照してください。


関連


汎用の制約





目次
Xcode の新機能

  • 言語:Swift
  • 宣言
  • 議論
  • 関連












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)