NSTableViewの配列からオブジェクトを削除する
-
06-07-2019 - |
質問
クイック1。私は何かを見下ろしています...
NSDictionaryの配列から構築されたグループ化されたテーブルビューがあります。各配列はテーブルのセクションです。編集モードで、ユーザーが[削除]をクリックすると、電話する
- (void)removeObject:(MyClass *)myObject
メッセージ[myArray removeObject:myObject]を送信する配列を決定するにはどうすればよいですか? NSDictionaryにはindexOfObject:メソッドはありませんが、NSArrayにはあります。上記のオブジェクトを探して各配列を反復処理できると思いますが、それは正しくないようです。
誰かが私の脳をガタガタ鳴らせてくれませんか?!? thx!
解決
標準の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>}
それがその方法だと思いますが、確かではありません。誰でも明確にできますか?
他のヒント
どのtableViewがメッセージを送信したかを知る必要があります(問題のメソッドはそのオブジェクトのデリゲートにあるため)-したがって、tableViewデリゲートのviewDidLoadメソッドで配列を作成するか、代わりにそれを見つけることができますデリゲートコンテキストに基づいています。
配列を反復処理することで明らかに問題が発生することはありません。どれくらいの頻度で人々が物を削除しますか、そしてこれはかなりのオーバーヘッドになるほど辞書が本当に大きいのですか?
NS所属していません StackOverflow