iOS:收到有关按钮点击的错误
Posted
技术标签:
【中文标题】iOS:收到有关按钮点击的错误【英文标题】:iOS: Getting an error regarding button tap 【发布时间】:2014-02-25 07:53:04 【问题描述】:由于某种原因,我在点击连接到 IBAction 的按钮时遇到错误。在我的 homeViewController 中,用户执行一个操作,将一个新的 viewController 添加到 navigationController,在这个视图控制器的视图中是一个包含 按钮 的较小视图。我重新检查了我的代码,并通过检查器查看我是否遗漏了任何内容,但没有发现任何奇怪的地方。
这是我添加的视图控制器的 .h 文件:
@property (weak, nonatomic) IBOutlet UIView *popupView;
@property (weak, nonatomic) IBOutlet UIImageView *blurredImageView;
@property (weak, nonatomic) UIImage *blurredImage;
- (void)presentEventEditViewControllerWithEventStore:(EKEventStore*)eventStore;
- (IBAction)addEvent:(id)sender;;
- (IBAction)cancelEvent:(id)sender;
当我点击一个按钮而不将 IBAction 链接到其中任何一个时,没有错误。一旦我链接它们,应用程序就会崩溃并显示以下错误:
附:我在之前的错误中也收到了以下信息(在取消链接和重新链接之前):
-[OS_xpc_connection cancelEvent:]:
更新:
我通过以下方式加载bannerViewController:
BannerPopUpViewController *BPV = [[BannerPopUpViewController alloc] initWithNibName:@"BannerPopUpViewController" bundle:nil];
BPV.blurredImage = [self screenshot];
[self.view.window addSubview:BPV.view];
这是我提到的第一个错误,由 crashlytics 提供:
但由于我取消链接操作并重新链接后,我不断收到以下内容:
【问题讨论】:
这不是错误消息。它在控制台中说了什么? - (IBAction)addEvent:(id)sender;;为什么是 2 个分号? 它甚至可能取决于您如何将控制器保存在内存中。如果在调用操作之前释放它,则繁荣 @dimimpou 哎呀!修正了分号。再次构建,应用程序崩溃,出现 exc bad access 错误。 您需要再次运行并粘贴错误,它将帮助我们确定“什么”没有识别选择器? 【参考方案1】:当你这样做时:
[self.view.window addSubview:BPV.view];
视图由其父视图(在本例中为窗口)保留,但没有保留 BPV 视图控制器。有些东西需要,否则它会被释放,然后每当按下任何按钮时,都会调用一个被破坏的对象(打开僵尸来验证)。
通过将 BVP 保存在将其添加为智利视图控制器的强大属性中来保留 BVP。
【讨论】:
我通过仪器运行它,你对被破坏的物体是正确的。在添加视图之前,我继续添加了以下行,现在一切似乎都在工作! [self.navigationController addChildViewController:BPV]; 好东西。 p.s.请记住勾选解决问题的答案;-)以上是关于iOS:收到有关按钮点击的错误的主要内容,如果未能解决你的问题,请参考以下文章