我有一个视图控制器(vc1),它使用另一个类来获取 UI 元素。因此,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里面的方法。你不这么认为吗?