나는 NSArray
property
을 KVO
으로보고 있습니다. 나는 this post과 같은 KVC
을 구현했으며 배열 접근 자도 대부분 KVC
개를 구현했습니다. 이를 돌연변이 화하기 위해 mutableArrayValueForKey
을 사용합니다. 그것은이 문제를 제외하고 잘 작동 : removeAllObjects의 KVO가 각 항목에 대해 NSKeyValueChangeRemoval을 트리거합니다.
내가
, 나는 각각의 단일 제거 항목에 대한removeAllObjects
전화NSKeyValueChangeRemoval
변화 를 얻을. 삭제 된 모든 색인이있는NSKeyValueChangeRemoval
알림 만 수신하고 싶습니다.마찬가지로
addObjectsFromArray:
으로 전화하면 각 추가 된 항목마다NSKeyValueChangeInsertion
이됩니다. 추가 된 모든 색인이있는 하나의NSKeyValueChangeInsertion
알림 만 수신하고 싶습니다. 내가을
사항은 KVC 방법 remove<Key>ItemsAtIndexes:
및 insert<Key>Items:atIndexes:
을 구현했습니다. 그들은 이 아니고입니다.
- (void)removeAllObjectsWorkaroundFromArray:(NSMutableArray *)modelArray {
NSRange indexRange;
indexRange.length = modelArray.count;
indexRange.location = 0;
NSIndexSet *indexSet = [NSIndexSet indexSetWithIndexesInRange:indexRange];
[modelArray removeObjectsAtIndexes:indexSet];
}
- (void)addObjectsFromArrayWorkaroundWithArray:(NSMutableArray *)modelArray arrayToAdd:(NSArray *)arrayToAdd {
NSRange indexRange;
indexRange.length = arrayToAdd.count;
indexRange.location = modelArray.count;
NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndexesInRange:indexRange];
[modelArray insertObjects:arrayToAdd atIndexes:indexSet];
}
바로 위의 해결 방법에 대한 필요없이 removeAllObjects
및 addObjectsFromArray:
를 사용하는 방법이 있나요 : 나는 다음과 같은 해결 방법을 사용
?
마지막 줄에 오타가 있습니까? – Mundi
옙, 고마워. 수정 됨. – fabb