如何清空 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)
我想答案很简单,但我没能找到答案:
我正在使用 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)