跨不同UIWebViews的通用委托

时间:2012-08-03 15:33:30

标签: objective-c ios ios5

我需要一个通用委托来处理针对不同网络视图的大多数事件。

我创建了一个委托:

@interface GenericWebViewDelegate : NSObject <UIWebViewDelegate>

在viewDidLoad里面我设置:

GenericWebViewDelegate* genericWebViewDelegate = [[GenericWebViewDelegate alloc] init];

[TheWebView setDelegate:genericWebViewDelegate];

以上是返回EXC_BAD_ACCESS

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

据我所知,从你的问题来看,这可能是两件事。

  1. 如果您的应用在分配到TheWebView时崩溃,那么这意味着TheWebView之前已被解除分配;所以你可能应该检查你创建它的方式。

  2. 如果在调用委托方法时发生,则取决于您创建委托对象的方式。您定义委托的方式,在viewDidLoad执行后很长时间内不会存在,所以当它被调用时,应用程序崩溃。

    您需要做的是将代理存储在班级的strong属性中。通过这种方式,它将与您的类实例一样长,并且在调用它时可能仍然存在。