如何在iPhone中设置通知

时间:2010-07-15 07:03:29

标签: iphone objective-c

我已经创建了一个自定义UIWebView。在某些类中,如果我包含我的自定义UIWebView,我需要知道Web视图加载是否完成。 我可以使用webViewDidFinishLoad在自定义类中获取它,但是如何将其传输到我已添加此自定义UIWebView的主视图。我需要在加载WebView时启用一些按钮。

我希望你能理解。 谢谢

1 个答案:

答案 0 :(得分:1)

我认为好的解决方案是创建委托模式。您可以将类(包括UIWebView)作为委托传递,然后当UIWebView完成时,您只需要回调该类以通知

在自定义UIWebView中:

UIMyWebView.h:

@property (nonatomic, assign) id delegate;
@property (nonatomic, assign) SEL callback;

- (id)initWithDelegate:(id)delegate callback:(SEL)callback;

UIMyWebView.m:


- (id)initWithDelegate:(id)aDelegate callback:(SEL)aCallback {
  delegate = aDelegate;
  callback = aCallback;
}

- webViewDidFinishLoad {
  [delegate performSelector:callback];
}

YourCaller.m:

- finishLoading {
  // do something when finish loading
}

- myMethod {
  UIMyWebView *webView = [[UIMyWebView alloc] initWithDelegate:self callback:@selector(finishLoading)];
}