如何在swift中清空NSArrayController

时间:2015-03-02 19:02:26

标签: swift nsarraycontroller

我认为答案很简单,但我找不到答案:

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

帮助赞赏: - )

2 个答案:

答案 0 :(得分:4)

你应该能够做你想做的事情:

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

yourArrayController.removeObjectsAtArrangedObjectIndexes(indexSet)

答案 1 :(得分:2)

使用

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

}