2012-03-04 13 views
0

NSObjectからモーダルビューコントローラを表示しています。モーダルビューコントローラからインスタンスに送信されたセレクタが認識されない

別のビューコントローラであるself.senderpresentModalViewController:animatedを呼び出します。ビューコントローラは細かい表示しますが、私はビューでボタンを押したときに、私は次のエラーを取得する:

-[__NSCFType buttonCancelPressed:]: unrecognized selector sent to instance

これは私が私のNSObjectのからモーダルビューコントローラを表示する方法である:

FBComposeViewController *composeViewController = [[FBComposeViewController alloc] initWithNibName:@"FBComposeViewController" bundle:nil]; 
[self.sender presentModalViewController:composeViewController animated:YES]; 

ボタンは、Interface Builderを使用してFBComposeViewControllerのセレクタに接続されています。

なぜこのエラーが発生するのでしょうか?

答えて

1

問題はおそらくFBComposeViewController.xibのバインドです。キャンセルボタンのターゲットアクションは何ですか?

+0

それは 'buttonCancelPressedに設定されています。 – simonbs

+0

「ファイルの所有者」ですか? – joerick

+0

もちろん、そこにあった! 'File's Owner'は' UIViewController'クラスに設定されていました。私はそれを 'FBComposeViewController'に変更し、自分のボタンを' File's Owner'にリンクしました。お手伝いありがとう。 – simonbs

0

なぜあなたはself.senderを使用していますか? senderUIButtonオブジェクトであると仮定します。仮定すると、

は、このコード行は、コントローラクラス、使用中に書かれている: `作曲ビューController``で:

[self presentModalViewController:composeViewController animated:YES]; 
+0

この場合、 'sender'は' UIButton'ではありません。これは別のビューコントローラです。 'presentModalViewController:animated:'これを 'self'が' NSObject'であるため呼び出す必要があります。認められる、「送信者」はこれには不適切かもしれない。 – simonbs

関連する問題