gpt4 book ai didi

ios - 在 iPhone 模拟器中点击图像时出错

转载 作者:行者123 更新时间:2023-11-29 03:02:50 25 4
gpt4 key购买 nike

我对 Objective C 和 iOS 开发还很陌生,有时我觉得自己好像在用头撞墙......

我正在以编程方式将图像添加到屏幕以作为菜单按钮发送到服务器。我有一个类处理该按钮。这是 .h 文件:

#import <Foundation/Foundation.h>

@interface MenuButton : NSObject <UIGestureRecognizerDelegate>

@property UIImageView * menuButton;
- (id) initWithButton: (UIImageView *) mb;
- (void) onTapMenuButton;
@end

这是 .m 文件:

#import "MenuButton.h"

@implementation MenuButton

- (id) initWithButton: (UIImageView *) mb {
self = [super init];

if(self) {
self.menuButton = mb;

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onTapMenuButton)];
tap.numberOfTapsRequired = 1;
[self.menuButton addGestureRecognizer:tap];
tap.delegate = self;
}

return self;
}

- (void) onTapMenuButton {
NSLog(@"SUCCESS!");
}

@end

每当我点击按钮时,程序就会停止运行。在输出窗口中,我能看到的只是一些文本:“(lldb)”,编辑器向我显示了主要函数,突出显示了我在那里的唯一一行,我根本没有碰过它(当我启动单 View 应用程序)。

我做错了什么?

最佳答案

我怀疑您正在创建一个 MenuButton 实例,它设置了这个点击手势识别器,但您没有保留 MenuButton 实例并且它被释放了。结果:点击手势识别正在对不再存在的对象调用 onTapMenuButton

您如何保留 MenuButton 对象?

关于ios - 在 iPhone 模拟器中点击图像时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23126487/

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