代码之家  ›  专栏  ›  技术社区  ›  TalkingCode

Cocoa:从NSArrayController中移除项

  •  2
  • TalkingCode  · 技术社区  · 15 年前

    虽然添加一个项非常简单(我调用一个方法,创建一个具有默认值的对象并添加它),但从控制器中删除对象时遇到问题。 我知道我可以用从ArrayController中连接按钮和删除操作的简单方法来完成这项操作。但这不是我想要的。我需要手动删除对象,因为我有一些额外的代码要处理。

    NSArray *items =  [doToItemsArrayController selectedObjects];
    [doToItemsArrayController removeSelectedObjects:items]; 
    

    NSIndexSet *iSet = [doToItemsArrayController selectionIndexes];
    [doToItemsArrayController removeSelectionIndexes:iSet];
    

    它们似乎都不起作用。如何使用Objective-C代码从NSArrayController中删除所选对象?

    3 回复  |  直到 15 年前
        1
  •  7
  •   David    15 年前

    可以使用以下任何方法删除对象。它们独立于选择。

    – removeObjectAtArrangedObjectIndex:
    – removeObjectsAtArrangedObjectIndexes:
    – remove:
    – removeObject:
    – removeObjects:
    

    如果要从内容数组中删除选定对象,则可以使用以下方法获取选定对象,然后将其插入上述方法之一。

    – selectionIndex
    – selectionIndexes
    
        2
  •  1
  •   Georg Fritzsche    15 年前

    你可以用 -removeObjects: 要实际删除对象而不是将其从选择中删除,请执行以下操作:

    [doToItemsArrayController removeObjects:items];
    
        3
  •  0
  •   JWWalker    15 年前

    您尝试的方法是删除对象 ,不用于从数组中删除对象。为什么不直接打电话给警察 remove: 行动方法?