UI 要素を取得するために別のクラスを使用するビュー コントローラー (vc1) があります。したがって、vc1 のビューは、Layout というクラスから返された別のビューをサブビューとして設定します。クラス Layout から返されるビューには、UIbutton が含まれています。Layout クラスには、次のコードがあります。
[btn addTarget:self action:@selector(button_clicked:) forControlEvents:UIControlEventTouchUpInside];
次に、同じクラス (レイアウト) で、メソッド button_clicked も宣言しました。
- (void)button_clicked:(id)sender {
NSLog(@"btn clickd");
}
ただし、ボタンをクリックすると何か問題が発生します。デバッグ エリアにエラー メッセージは表示されませんが、Xcode の状態はよくありません。シミュレーターはフォーカスを失い、Xcode が次の行のファイル (AppDelegate.m だと思います) と共に表示されます。
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
緑色で強調表示されます。また、コードには次のメッセージが表示されます。
スレッド 1: EXC_BAD_ACCESS(コード=2、アドレス=0x9)
何が間違っている可能性がありますか?また、ボタンのクリックを vc1 で管理する必要があるのではないかと懸念しているため、vc1 内に配置するのが最善の方法だと思います。そう思いませんか?