gpt4 book ai didi

objective-c - ios5 - 单击按钮时出现 "EXC_BAD_ACCESS"

转载 作者:行者123 更新时间:2023-12-01 19:19:01 27 4
gpt4 key购买 nike

我是 Objective C 的初学者。

目前我尝试在我的主窗口中显示一个 View 。此 View 包含一个按钮。由于某种原因,单击此按钮 xcode 会引发错误。

希望你能帮助我理解我做错了什么。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];

BtnView *btn = [[BtnView alloc] init];
[self.window addSubview:btn.view];
[self.window makeKeyAndVisible];

return YES;
}

我的按钮 View 的 viewController 有一个用于识别触摸事件的 Action
h 文件:
- (IBAction)touched:(id)sender;

并在 m 文件中
- (IBAction)touched:(id)sender {
//actions ...
}

通过触摸按钮,我收到以下错误:

enter image description here
怎么了?

.m 文件:

enter image description here

h 文件:
enter image description here

最佳答案

我假设您为此项目启用了 ARC。

当您从 didFinishLaunchingWithOptions: 返回时分配给 btn 的对象将被释放,因为您将其分配给仅在该方法中定义的局部变量。制作 BtnView *btn一个 strong您的类(class)的属性(property),它应该留下来处理按钮按下。 (记得在引用它时使用 self.btn。)

(但是,我很好奇,为什么不首先将按钮放在主视图上,然后不用担心额外的 Controller 和 subview ?)

关于objective-c - ios5 - 单击按钮时出现 "EXC_BAD_ACCESS",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11242896/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com