init(object: Any?, type: NSCollectionChangeType, index: Int)
An optional object the change will remove or insert. その変更が除去または挿入するあるオプショナルオブジェクト。
Availability 有効性
Technology
init(object anObject: Any?,
type: NSCollectionChangeType
,
index: Int
,
associatedIndex: Int
)
anObject
An optional object the change will remove or insert. その変更が除去または挿入するあるオプショナルオブジェクト。
type
The type of change. 変更の型。
index
The index location within an ordered collection where the change applies. ある順序コレクション内でのインデックス位置、そこでこの変更が適用されます。
associatedIndex
The index of the change’s counterpart of the opposite type in the diff. diffにおける反対型の、この変更のもつ対応物のインデックス。
Pairs of changes with opposite types that refer to each other represent the index location of their counterpart with the associated
property. Initializing an NSOrdered
with broken associations (or associations that aren’t reflexive) generates an exception. The following example creates a diff where the object @”Red”
moves from index 8
to index 3
:
相互に参照する反対型をもつ変更のペアは、それらの対応物のインデックス位置をassociated
プロパティで表します。NSOrdered
を壊れた結び付き(または再帰的でない結び付き)で初期化することは、例外を発生させます。以下の例は、あるdiffを作成します、そこでオブジェクト@”Red”
はインデックス8
からインデックス3
に移動します:
A move pair can have a different object
in its removal and insertion changes, which can imply that the change represents moving and changing or replacing an element. Diffs that controller(_:
passes to delegates of NSFetched
communicate that an object changed even when its position in the results is unaffected.
ある移動ペアは、ある別個のobject
を、それの除去および挿入変更の中に持つことができます、それはその変更が要素の移動および変更または置換を表すことを暗に示めせます。controller(_:
がNSFetched
の委任先に渡すdiffは、あるオブジェクトが変化したと知らせます、たとえそれの位置が結果において変わらない時でさえも。
Note 注意
Don’t ignore a move when the indexes of its changes are the same. The calculated difference from @[@”A”, @”B”, @”C”]
to @[@”C”, @”B”]
may legitimately produce a diff where the change removes the object at index 0 and the object at index 1 moves to index 1. Ignoring the move produces the incorrect result @[@”B”, @”C”]
.
ある移動を、それの変更それらのインデックスが同じ時に無視しないでください。@[@”A”, @”B”, @”C”]
から@[@”C”, @”B”]
へのその算出された差異は、そこにおいてその変更がオブジェクトをインデックス0で除去する、そしてインデックス1でのオブジェクトをインデックス1へと移動するところの、あるdiffを合法的に生み出すかもしれません。その移動を無視することは、正しくない結果@[@”B”, @”C”]
を生み出します。
init(object: Any?, type: NSCollectionChangeType, index: Int)