gpt4 book ai didi

objective-c - NSObject 扩展 UIAlertViewDelegate 崩溃?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:29 25 4
gpt4 key购买 nike

我有一个助手类,我想显示一个 UIAlertView,然后将执行一些 Web 服务操作。我想这样做,这样我就可以在其他地方重新使用警报 View 。

我是这样声明的:

@interface FBLinkHelper : NSObject <UIAlertViewDelegate>

我还有一个显示警报 View 的方法:

- (void) showLinkDialog {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Link account with Facebook?" message:@"Linking your account with Facebook extends your user experience. Link account?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil];
[av show];
}

这就是我显示对话框的方式:

    FBLinkHelper *fbLinkHelper = [[FBLinkHelper alloc] init];
[fbLinkHelper showLinkDialog];

我觉得一切都很正常。它显示了警报 View 对话框,但是当我单击一个按钮(任一按钮)时,我的应用程序崩溃了,在控制台中没有太多可说的。我注意到它在我有适当的 UIAlertViewDelegate 方法(例如 didDismissWithButtonIndex)时崩溃。为什么会这样?

最佳答案

-更新-

FBLinker 实例不是其调用者的强属性,因此委托(delegate)回调转到悬空指针。 OP 报告使 FBLinker strong 解决了问题。

使类从 UIView 而不是 NSObject 扩展的原始建议没有效果,此处仅出于历史目的引用。

关于objective-c - NSObject 扩展 UIAlertViewDelegate 崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11087179/

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