2015-03-02 2 views
0

Я полагаю, что ответ довольно прост, но я не смог найти ответ:Как опустошить NSArrayController в быстрой

Я использую nscollectionview чей контент управляется через nsarraycontroller. добавление объектов работает по назначению, но я не нашел способа удалить все объекты. существует несколько методов удаления, но что-то вроде .clear ,.empty или .removeAll недоступно.

Помощь оценили :-)

ответ

4

Вы должны быть в состоянии делать то, что вы хотите, например, так:

let range : NSRange = NSMakeRange(0, yourArrayController.arrangedObjects.count) 
let indexSet : NSIndexSet = NSIndexSet(indexesInRange: range) 

yourArrayController.removeObjectsAtArrangedObjectIndexes(indexSet) 
+0

Отлично работает! Спасибо –

+0

Добро пожаловать! Пожалуйста, не забудьте отметить ответ как принято :) – lchamp

1

Использование

[myArrayController setContent:nil];

или Swift

myArrayController.content = nil

продуть.

Так обычно при сбросе контроллера массива программно

-(void)setTargetObjects:(NSArray *)objects { 

    [self.arrayController setContent:nil]; 

    [self.arrayController addObjects:objects]; 

} 

или Swift

func setTargetObjects(objects:[AnyObject]) { 

    self.arrayController.content = nil 
    self.arrayController.addObjects(objects) 

} 
+0

, кажется, быть объективным -c ;-) Не существует setContent для NSArrayController ... –

+0

oops - не заметил swift ta g - см. править. setContent/content находится на 'NSObjectController' родителя –

+0

Спасибо, я попробую это тоже –

Смежные вопросы