2011-12-05 14 views
0

私の辞書にあるオブジェクトを返さなければならないこの関数return [remoteObject objectForKey:key];があります。NSDictionary objectForKey IPhoneシミュレータとIPhoneデバイス

私はiPhoneのシミュレータを起動しているときに、すべてが問題なく、正しいオブジェクトを返します。 しかし、私は私のデバイスに自分のアプリケーションのクラッシュを同じアプリケーションを起動していますし、それがSIGABRT と

2011-12-05 10言う:25:17.601 iPhoneXMPP [242:1a1f] - [CALayerのobjectForKey:]: 25: 認識されないセレクターが2011-12-05 10インスタンス0x4f3d40に送信17.602 iPhoneXMPPを[242:1a1f] *によりキャッチされない例外 'NSInvalidArgumentException'、理由にアプリを終了:「 - [CALayerの objectForKey:]:認識されませんセレクタをインスタンスに送信0x4f3d40 '

私の鍵はId(17)で、それも私の辞書に入っています。

これは私のデバイスでのみ発生する理由を知っている人はいますか?

+0

私たちはどのように辞書を初期化し、どのようにしてキーを作成しますか? –

答えて

1

これは、あなたのremoteObjectオブジェクトがどこかで割り当て解除されていることを意味します。通常、autoreleasesは、シミュレータよりメモリが少ないため、デバイス上でより高速に実行されます。その理由は、シミュレータ上では、メソッドを呼び出すときにオブジェクトがそこに残っているからです。あなたのオブジェクトを作成したときにはretainに電話し、完了したらreleaseに電話してください。

+0

こんにちは。私はオブジェクトを保持しようとしましたが、今はEXT_BAD_Accessのエラーメッセージが表示されます – DeFlo

+0

これでわかりました。辞書のオブジェクトもリリースされました。だから、私もそれらを保持しなければならなかった。 – DeFlo

関連する問題