2011-07-28 6 views
0

リモートデータベースからiphoneアプリケーションにデータを解析し、テーブルビューにデータを入力しています。このプログラムはテーブルビューを細かく設定することができますが、すべてのレコードを表示できます。レコードをソートするには、NSPredicateを使用してデータをソートすることをお勧めしましたが、データをロードしようとすると、プログラムはコンソールに警告なしで存在します。なぜ誰かがコードをすばやく見て、どこに間違っているのか教えてもらえますか? (私は、これらの行と関係があると思いますreturn [rows count];NSDictionary *dict = [rows objectAtIndex: indexPath.row];)。これについてのお手伝いをありがとう...iphone uitableview populate - プログラムは警告なしで終了する

答えて

1

あなたのviewDidLoadで、配列を保持してお試しください。

rows = [[courses filteredArrayUsingPredicate:predicate] retain]; 
+0

それは働いています:o、あなたは私になぜ保持部分で働いているのか説明できますか? –

+0

filteredArrayUsingPredicateは、自動解放オブジェクトを返します。すべてのイベントは自動解放プールに囲まれているので、保持メッセージで保持カウントをインクリメントしないとオブジェクトは解放されます。 deallocメソッドでオブジェクトを解放することを忘れないでください。 [製品]メニューの[分析]ツールを有効に活用してください。 – andreamazz

1

filteredArrayUsingPredicateはautoreleaseオブジェクトを返す必要があるので、rows配列は保持する必要があります。

+1

例:self.rows = [courses filteredArrayUsingPredicate:predicate]; – Peres

関連する問題