如何清空 swift 中的 NSArrayController

How to empty a NSArrayController in swift

我想答案很简单,但我没能找到答案:

我正在使用 nscollectionview,其内容通过 nsarraycontroller 进行管理。添加对象按预期工作,但我没有找到任何方法来删除所有对象。有几种删除方法,但诸如 .clear、.empty 或 .removeAll 之类的方法不可用。

感谢帮助:-)

使用

[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)

}

你应该可以像这样做你想做的事:

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

yourArrayController.removeObjectsAtArrangedObjectIndexes(indexSet)