property
KVO
ile izliyorum.
this post'da olduğu gibi
KVC
uyguladım ve ayrıca
KVC
dizi erişim sağlayıcılarının çoğunu uyguladık. Değiştirmek için
mutableArrayValueForKey
kullanıyorum. Tesiste 2 konulara dışında çalışıyor:
ben
, ben her bir silinen öğenin içinremoveAllObjects
diyoruzKVO on removeAllObjects Her Öğe için NSKeyValueChangeRemovalı Ayrı AyrıNSKeyValueChangeRemoval
değişiklik olsun. Kaldırılan tüm dizinler için yalnızca birNSKeyValueChangeRemoval
bildirimi almak istiyorum.Benzer şekilde,
addObjectsFromArray:
numaralı telefonu aradığımda, her bir eklenen öğe içinNSKeyValueChangeInsertion
alırım. Eklenen tüm dizinler için yalnızca birNSKeyValueChangeInsertion
bildirimi almak istiyorum. Ben yapmak
Bildirim KVC yöntemleri remove<Key>ItemsAtIndexes:
ve insert<Key>Items:atIndexes:
uygulamıştır. Ancak bunlar, değil değil.
- (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];
}
doğrudan yukarıdaki geçici çözümler için gerek kalmadan removeAllObjects
ve addObjectsFromArray:
kullanmak için bir yolu var mı: Ben şu geçici çözümleri kullanmak
?
Son satır kodunda yazım hatası var mı? – Mundi
Yepp, teşekkürler. Düzeltildi. – fabb