2012-01-04 13 views
11

Xcode 5を使用して自動参照カウントが有効になっています。[SecondPage performSelector:withObject:withObject:]:解放されたインスタンスにメッセージを送信したUIButton

NavigationControllerベースのアプリケーションでは、私はUIButtonを使用し、IBActionとIBOutletは適切に定義され、接続されています。しかし、ボタンで呼び出されたTouchUpInsideイベントのIBActionの前に、アプリケーションは「[SecondPage performSelector:withObject:withObject:]:メッセージを割り当て解除されたインスタンス0x6cb7970に送信しました。 SecondPageは、このUIButtonが存在するビューコントローラです。

は基本的に私はタップ状態でこのUIButtonに新しいビュー・コントローラのビューを開きたいと私はカスタムセグエによってこれを行います

答えて

27

あなたのセレクタが呼び出されている前に、ARCは、あなたのsecondViewコントローラを自動解放されるよううーんは奇妙に聞こえます。

第2のビューを最初のプロパティ(サブビューとして追加している場合)のプロパティとして、プロパティタイプがstrongであると定義してみてください。

あなたのコードを見ずに私が推薦できるのはこれだけです。

+0

強参照のクラッシュを伴うプロパティを追加した後には、 – Prasad

+0

@Matt Reesが発生していません。これは私が仮定したものですが、ios7のみでこのクラッシュを取得しますか? –

+0

@JoelBalmer iOS 7は何の違いもありません。これらのメソッドはiOS 5以降であり、何も変更されていません。バグはあなたのコードのどこかにあります。 –

1

私は同じ問題を抱えていて、Matt Reesの提案で解決しました。

firstViewController.hでsecondViewControllerをデコードし、そのインスタンスを作成してください。同様に、 secondViewController * secondView;

0

私は同じ問題を抱えていて、どんなエラーが発生したのかで解決しました。

詳細については、ログアウト/ログイン時に呼び出し元オブジェクト(この場合はSecondPage)を再割り当てしていましたが、他のいくつかのviewcontrollerを再使用していました。再利用されたviewcontrollerには再割り当てした呼び出し元オブジェクトの前のインスタンスがあります。

さて、今すぐ解決してください!

関連する問題