0

快一个。我忽略了一些东西...

我有一个从 NSDictionary 中的数组构建的分组表视图。每个数组都是表的一部分。当处于编辑模式并且用户单击“删除”时,我调用

- (void)removeObject:(MyClass *)myObject 

如何确定要发送消息的数组 [myArray removeObject:myObject]?NSDictionary 没有 indexOfObject: 方法,但 NSArray 有。我想我可以遍历每个数组以查找所述对象,但这似乎不对。

有人可以敲响我的大脑吗?!?谢谢!

4

3 回答 3

0

您应该知道哪个 tableView 发送了消息(因为有问题的方法在该对象的委托中) - 因此您可以在 tableView 委托的 viewDidLoad 方法中创建数组,或者找出它基于哪一个委托上下文。

于 2009-06-20T23:52:04.627 回答
0

我认为遍历数组没有任何明显错误。人们多久删除一次东西,字典真的大到足以使这成为一笔巨大的开销吗?

作为参考点,NSArray 的indexOfObject:方法没有比遍历数组寻找匹配对象更有趣的了。

于 2009-06-21T00:30:07.917 回答
0

您可以实现标准 UITableView 协议并使用此方法:

(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle<br> forRowAtIndexPath:(NSIndexPath *)indexPath {
     <br><br>//check the section according to your array, if(indexPath.section ==....
     <br><br>
    if(editingStyle == UITableViewCellEditingStyleDelete) {
     <br>
    [arrayFoundBefore removeObjectAtIndex:indexPath.row];
    <br> 
    }
    <br>}

我认为这是这样做的方法,但不确定。谁能澄清一下?

于 2009-06-21T06:13:28.300 回答