2011-01-19 1 views
0

私はUITableViewのテキストに向かう予定の場所の名前を表示し、その場所からどのくらい離れているかを表示するCore Locationベースのアプリケーションに取り組んでいますあなたはcell.detailTextLabel.textです。cell.detailTextLabel.textの問題のあるビューでgpsの場所を更新する

私は場所を更新するGPSデリゲートを持っており、コアの場所ゲッターとセッターを設定し、その場所を使用してアップデートを取得するたびにcell.detailTextLabel.textを設定しようとします。

しかし私の問題は、UITableViewのスクロールにあります。私がクリックすると、私はどこにそれをしたいのですが、すべてのセルを見るためにビューをスクロールしようとすると、アプリケーションがクラッシュし、不正なアクセスエラーが発行されます。私は場所の更新に悪いアクセスがどこにあるか、GPSの場所をcell.detailTextLabel.textに取得し、新しい場所を取得してデータを読み込むよりも良い方法があるかどうかわかりません。

ご協力いただければ幸いです。

おかげ

+0

デバッグモードで実行すると、アプリケーションがクラッシュしたときのコールスタックの外観はどうなりますか? –

+0

私は - [CLLocation distanceFromLocation:]:メッセージを割り当て解除されたインスタンス0x5dd5e40に送信し、私は理由を知りません。私は、didUpdateLocationが新しい場所を返すときに設定されるnewestLocationというCLLocationを持っています。しかし、テーブルビューのセルの設定では、私は新しい距離を計算していますが、私はCLLocatinDistance距離= [newestlocation distanceFromLocation:destination]という行にその誤差があります。 – Dan

+0

私はついにそれを理解しました。私はnewestLocationの1つのインスタンスをテーブルビューの送り先の数に設定していましたが、それはできません。だから私は割り当てられたnewestLocationsの配列を維持し、新しい場所が来るようにその配列を更新します。 – Dan

答えて

0

は、ほぼ確実にあなたUITableViewDataSourceやUITableViewDelegate方法に誤りがあります。セクションやセルの数が正しくない場合や、必要に応じて有効なセルが返されない場合は、常にクラッシュします。これらの関数の一部のNSLogは、問題が発生したときにそれを見つけるのに役立ちます。

次に、環境変数(app実行可能ファイルをダブルクリックして引数を選択)を設定し、値「YES」の「NSZombieEnabled」を追加してください。テーブルが後で使用するものをリリースしている場合は、EXC_BAD_ACCESSが結果になります。これにより、謎のクラッシュではなくデバッガブレークポイントが発生します。スタックトレースを使用すると、簡単に問題を見つけることができます。

reloadDataを使用してテーブルビューのセルを更新していますか?

関連する問題