2009-06-20 29 views
0

クイック。私は何かを見下しています...NSTableViewの配列からオブジェクトを削除

私はNSDictionaryの配列から構築されたグループ化されたテーブルビューを持っています。各配列はテーブルのセクションです。場合は、編集モードとユーザーで、私はどのように私がメッセージを送信するためにどの配列を決定することができます

- (void)removeObject:(MyClass *)myObject 

を呼び出す「削除」クリック[myarrayのREMOVEOBJECT:myObjectという]? NSDictionaryにはindexOfObject:メソッドはありませんが、NSArrayではありません。私はオブジェクトを探して各配列を反復することができると思うが、それは正しいように見えません。

誰かが私の脳をかき鳴らすことができますか?どうも!

答えて

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>} 

私はそれはしかし、確かにそれを行うための方法はないと思います。誰でも明確にすることはできますか?

0

(どのメソッドがそのオブジェクトのデリゲートにあるので)どのtableViewがメッセージを送信したのかを知っておく必要があります。そのため、tableViewデリゲートのviewDidLoadメソッドで配列を作成するか、デリゲートコンテキストに基づいています。

0

配列を繰り返し処理すると明らかに間違ったことはありません。どのくらいの頻度で人々は物事を削除し、これをかなりのオーバーヘッドにするのに十分な大きさの辞書ですか?

参照点として、NSArrayのindexOfObject:メソッドは、配列が一致するオブジェクトを探しているのに反復するよりも魅力的です。

関連する問題