1

加速度計を使用して揺れを検出し、スクロール ビューを次のページにスクロールさせたいナビゲーション ベースのアプリがあります。scrollView のビュー コントローラーに加速度計のコードを追加しました。シェイクは私のページ変更メソッドを呼び出します。しかし、ナビゲーション スタックから scrollViewController をアンロードすると、アプリがクラッシュします。

scrollViewController の viewDidLoad メソッドで加速度計をセットアップし、加速度計の揺れに応答します: didAccelerate: デリゲート メソッド。

scrollViewController の割り当てが解除されると、アプリがクラッシュします。

私は何が欠けていますか?

ありがとう

4

4 に答える 4

3

別のスレッドで答えを見つけました:

iPhone で共有アクセラレータ インスタンスをリリースするにはどうすればよいですか?

scrollView の割り当てが解除されたときに、加速度計のデリゲートを nil に設定する必要がありました。加速度計は、デリゲート (この場合は私の scrollViewController) への参照を保持するシングルトンです。私の scrollViewController がスタックから飛び出したとき、参照がハングしたままになり、アプリがクラッシュしました。

答えてくれた Phil Nash に感謝します!

于 2009-06-18T20:22:53.487 に答える
0

加速度計の更新率はどのくらいですか? 高すぎると変なことが起こると聞いたことがあります。

于 2009-06-18T19:04:00.303 に答える
0

コメントできないので、回答に投稿する必要がありました。新しいビュー ページの読み込み方法を表示できますか。私が理解しているように、あなたがそれを振ると、新しいビューに切り替わると思います。新しいビューへの呼び出しを表示できますか。

于 2009-06-18T20:09:49.160 に答える
0

シンプル: デリゲート メソッドを設定することで、別のオブジェクト (加速度計) にスクロールビューが存在することを伝えました。

しかし、それが存在しなくなったときに、メッセージを送信しないようにすることはできなかったと伝えましたか?

そうではないと思います。今回はデリゲートを nil に再度設定する必要があります。

于 2009-06-18T20:23:33.487 に答える