Type Method 型メソッド

changeWithObject:type:index:associatedIndex:

Creates an change object that represents inserting or removing an object from an ordered collection at a specific index, matched with an associated location that infers a move within the collection. ある変更オブジェクトを作成します、それはあるオブジェクトを順序コレクションから指定インデックスで挿入または除去することを表します、ある移動をコレクション内で暗示するある結び付けられた位置と組み合わされます。

Declaration 宣言

+ (NSOrderedCollectionChange<ObjectType> *)changeWithObject:(ObjectType)anObject 
                                                       type:(NSCollectionChangeType)type 
                                                      index:(NSUInteger)index 
                                            associatedIndex:(NSUInteger)associatedIndex;

Parameters パラメータ

anObject

An object to be removed or inserted by the change. その変更によって除去または挿入されるあるオブジェクト。

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における反対型の、この変更のもつ対応物のインデックス。

Return Value 戻り値

An object that represents an indexed change to an ordered collection and references the object to be inserted or removed with an associated index that infers a move within the collection. あるオブジェクト、それは順序コレクションへのあるインデックス付き変更を表します、そして挿入または除去されるオブジェクトを参照します、そのコレクション内でのある移動を暗示するある結び付けられたインデックスを備えます。

Discussion 議論

Pairs of changes with opposite types that refer to each other represent the index location of their counterpart with the associatedIndex property. Initializing a NSOrderedCollectionDifference with broken associations (or associations that aren’t reflexive) will generate an exception. The following example creates a diff where the object @”Red” moves from index 8 to index 3: 相互に参照する反対型をもつ変更のペアは、それらの対応物のインデックス位置をassociatedIndexプロパティで表します。NSOrderedCollectionDifferenceを壊れた結び付き(または再帰的でない結び付き)で初期化することは、例外を発生させるでしょう。以下の例は、あるdiffを作成します、そこでオブジェクト@”Red”はインデックス8からインデックス3に移動します:


NSOrderedCollectionDifference *diff = [[NSOrderedCollectionDifference alloc] initWithChanges:@[
    [NSOrderedCollectionChange changeWithObject:@"Red" type:NSCollectionChangeRemove index:8 associatedIndex:3],
    [NSOrderedCollectionChange changeWithObject:@"Red" type:NSCollectionChangeInsert index:3 associatedIndex:8]
]];

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:didChangeContentWithDifference: passes to delegates of NSFetchedResultsController communicate that an object changed even when its position in the results is unaffected. ある移動ペアは、ある別個のobjectを、それの除去および挿入変更の中に持つことができます、それはその変更が要素の移動および変更または置換を表すことを暗に示めせます。controller:didChangeContentWithDifference:NSFetchedResultsControllerの委任先に渡すdiffは、あるオブジェクトが変化したと知らせます、たとえそれの位置が結果において変わらない時でさえも。

See Also 参照

Creating a Change ある変更を作成する