同様の質問がたくさんありますが、私の場合はうまくいく解決策がありません。
簡単なFlipSideAppを書いてみます。それぞれ1つのボタン(flipBtn | flopBtn)を備えた2つのビューだけで、他のビューを表示できます。その逆も同様です。
flip
最初のビューで正常に動作します。flop
もう一方のビューでは、が発生し
unrecognized selector sent to instance 0x6c3adf0
ます。
[self dismissViewControllerAnimated:YES completion:nil];
ファイルFlipSide.mを呼び出した後、アプリがクラッシュします(以下のコードを参照)。その場合のインスタンスである0x6c3adf0
現在のアドレスはどこにありますか。self
FlipSide : UIViewController
dismissViewControllerAnimated:completion
したがって、エラーメッセージに記載されている認識されないセレクターは-methodだと思います。
XcodeのCodeSenseを入力している間、そのメソッドを「推奨」します。
UIViewControllerクラスリファレンスによると、このメソッドはiOS5.0SDKで知られています。
私の展開ターゲットは5.0、デバイスiPhone、ベースSDK iOS 5.0、アーキテクチャ標準(arm7)です。
すべての例外にシンボリックブレークポイントが設定されている場合、デバッガーはメイン関数のUIApplicationMainで停止します。それは私にヒントを与えるものではありません。
ゾンビ-オブジェクトが有効になります。ここではメモリリークは問題ではないと思いますが。
セレクターを認識させるにはどうすればよいですか?
ファイル:「AppDelegate.m」
#import "FirstViewController.h"
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[[UIWindow alloc]
initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
UIViewController *viewController1 = [[[FirstViewController alloc]
initWithNibName:@"FirstViewController" bundle:nil] autorelease];
self.window.rootViewController = viewController1;
[self.window makeKeyAndVisible];
return YES;
}
ファイル: " FirstViewController.h "
@interface FirstViewController : UIViewController
- (IBAction)flipBtn:(id)sender;
@end
ファイル: " FirstViewController.m "
…
- (IBAction)flipBtn:(id)sender {
NSLog(@"%s -- reached --", __PRETTY_FUNCTION__);
FlipSide* flipSide = [[FlipSide alloc] initWithNibName:@"FLipSide" bundle:nil];
[self presentViewController:flipSide animated:YES completion:nil];
NSLog(@"%s -- done --", __PRETTY_FUNCTION__);
}
ファイル:「FlipSide.h」
@interface FlipSide : UIViewController
- (IBAction)flopBtn:(id)sender;
@end
ファイル:「FlipSide.m」
#import "FlipSide.h"
- (IBAction)flopBtn:(id)sender {
NSLog(@"%s -- reached --", __PRETTY_FUNCTION__);
NSLog(@"self address is: %@", self);
// // // ??? unrecognized selector sent to instance ???
[self dismissViewControllerAnimated:YES completion:nil]; // <--
NSLog(@"%s -- done --", __PRETTY_FUNCTION__);
}
ConsoleOutPutは次のとおりです。
-[FirstViewController flipBtn:] -- reached --
-[FirstViewController flipBtn:] -- done --
-[FLipSide flopBtn:] -- reached --
self address is: <FLipSide 0x6c3adf0>
-[FLipSide flopBtn:] -- done --
-[FLipSide flopBtn:]: unrecognized selector sent to instance 0x6c3adf0