2009-08-21 3 views
0

私は[self performSelectorInBackground:@selector(getImagesData)withObject:nil]と呼ばれるメソッドgetImageDataを持っています。私のviewDidLoadの getImageDataはforループを持っています。ループ内の各インデックスが複数回呼び出されることに気付きました。 ループ内の静的NSMutableArrayにもアクセスします。私は配列を保持していないとき、それは私に悪いアクセスを与える。私がそれを保持していれば、ループは無限に実行されますバックグラウンドスレッドのforループは各インデックスに複数回アクセスします--- iPhone dev

+0

問題のコードを提供できますか? – fbrereto

答えて

0

私は、ココアメモリマネージメントガイド[iPhoneと同じ]を読むことをお勧めします。このマニュアルで提供されている同時実行ガイドの1つ)。

具体的には、-performSelectorInBackgroundを2回呼び出すことができますか? forループ

Aは、あなたのコード内で自分のものに何かせずに魔法のように再訪問インデックスません。

  1. は、メモリを破損
  2. 不変ループを変更
  3. 正確に正しい方法であなたはあります

私はそれを保持している場合、ループが無限あなたはdoinのしていることを示して走る - うっかりループを複数回実行しますg 3.そうでないとクラッシュするのは、メモリを正しく管理していないからです。それは別の問題の症状です。

+0

'-performSelectorInBackground:'を2回実行している場合、正しい解決策は何ですか? – cksubs

+0

もっとコードを参照する必要があります... – bbum

関連する問題