2011-08-13 11 views
3

テーブルビューのセルの内容をすべてクリアするコードを提供することで、誰でも助けてくれますか?ボタンが押された テーブルビューが再ロードされますが、tableViewをクリアするためのTableViewの内容を消去する

おかげ ラケッシュ

+0

組み合わせは、あなたの答えを構成します。あなたを助けることを願っています。 –

+0

それは持っているだろうが、私はたくさんの配列を持っているので、それらは相互にリンクされていないので、簡単ではない – Rakesh

+0

コードを投稿してコードをチェックアウトして助けることができますか? –

答えて

9

をクリアされていない、あなたは自分のテーブルを移入された配列からすべてのオブジェクトを削除すると、あなたは後のtableViewをリロードそれ。

[myArray removeAllObjects]; 
[self.tableView reloadData]; 
+0

しかし、私はそれをクリアすることはできませんので、後で配列の値を使用する必要があります。私は、配列をクリアするソリューションを持っていると思います。あなたは助けることができますか? – Rakesh

+1

配列を別の配列にコピーして、それをデータソースとして使用します – Neelesh

+0

しかし、たくさんの配列があります – Rakesh

3

はブールtableIsEmptyを設定し、0のいずれかにテーブルビューの行数を設定します(表が空である)、または配列は、あなたが設定する必要がcousreの

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section; 

にこのブール値に応じてカウントtableIsEmpty = YES、ボタンを押すと、データがロードされたときにNOに戻ります。 はその後

[self.tableView reloadData]; 

を呼び出してテストしたが、それをはずの動作するはずはありませんか?

+0

私は似たような解決策を出そろっていました。 + 0, –

+0

ええ、セルをクリアするかどうかを追跡するBOOLプロパティを追加するだけです。 –

1

テーブルをリロードする前に、1つの変数をフラグとして追加することができます。

makeEmpty = YES; 
[tableview reloadData]; 
makeEmpty = NO; 

そして、テーブルビューのデリゲートメソッドでレゴラスの答えとNeeleshさんのコメントの

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    if(makeEmpty) 
     return 0; 
}