2011-02-08 8 views
0

私のアプリでは、行または選択した行のユーザータップとして行インデックスを取得しています。しかし、行が2回タップされると、アプリケーションがクラッシュします。なぜ私のiPhoneアプリがクラッシュする原因になりますか?

この現象の原因は何か、それを修正するにはどうすればよいですか?ここで私が使用しているコードです:

(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 

    abc *xyz = [[abc alloc] init]; 
    dcs = [allHadits objectAtIndex:indexPath.row]; 
    hk = dcs.kokid; 
    [dcs release]; 
} 
+0

クラッシュレポートとは何ですか? – KingofBliss

答えて

2

はあなたが同じ行をタップ意味するか二度、それはクラッシュのですか?その場合は、[dcs release]が原因である可能性があります。私はdcsが何であるかわからない(xyzでなければならない)が、配列内のオブジェクトへのポインタをつかんで、その上でreleaseを呼び出すと配列内のオブジェクトが解放され、次に行がヒットする。 [dcs release]を削除し、それでもクラッシュするかどうかを確認してください。私の記憶管理は最大ではありませんが、私は間違っている可能性があります。

+0

これは正しい答えでしょう。 [dcsのリリース]は論理的に間違っています。配列からdcsを削除することが意図されている場合、[allHadits removeObjectAtIndex:indexPath.row]が正しいテクニックになり、ホスティングテーブルビューのreloadDataが呼び出されます。 –

+0

dcsはオブジェクトですが、私はそれを解放するコメントを持っています。メモリ管理の面では – Haseeb

+0

dcsはオブジェクトですが、リリースするコメントがありますが、現在作業中の悲しみはずっとありがとうございますが、私たちが解放されていないかどうか教えてください。メモリ管理の面で – Haseeb

0

dcsを解放しないでください。なぜあなたの変数はあまりにも悪い名前ですか?

+0

と私に別の問題を確認するスタックして新しいです:) http://stackoverflow.com/questions/4929960/table-reloaddata-not-working – Haseeb

+0

haha​​hはちょうどアイデア:) – Haseeb

+0

今問題は解決ですが、私はそれがメモリ管理の用語の中でどんなproblmを作成することを知っていますか? – Haseeb

関連する問題