我有两个NSTableViews
绑定到他们自己的NSArrayControllers
,用户可以拖动&将项目从表A拖放到表B.现在我希望在插入后选择表B中的已删除项目(以便表格可以滚动到它们)。但它不起作用。
Select Inserted Objects
。现在,我可以尝试将新插入的对象临时存储在数组中,然后通过setSelectedObjects()
在arrayControllerB中选择它们,就像这样......
func insertIndicesToTargetAC(indexSet:NSIndexSet)
{
let a = indexSet.toArray();
var tmpObjects = [AnyObject]();
for i in a
{
let sourceItem = sourceAC.arrangedObjects.objectAtIndex(i);
let obj:NSManagedObject = createNewFromSourceItem(sourceItem);
targetAC.addObject(obj);
tmpObjects.append(obj);
}
sourceAC.removeObjectsAtArrangedObjectIndexes(indexSet);
targetAC.setSelectedObjects(tmpObjects);
println("\(targetAC.selectedObjects)");
}
}
这里,setSelectedObjects()
确实向我显示了目标AC中新插入的对象的正确数量,但它仍未反映相关表视图中的选择。有人可以让我进入那些一直拒绝工作的琐碎可可行动的神圣圣地吗?
答案 0 :(得分:1)
我明白了。插入后我不会尝试使用tableView.reloadData()。这将抹掉选择。