如何在iPhone中设置通知

如何在iPhone中设置通知,iphone,objective-c,Iphone,Objective C,我已经创建了一个自定义UIWebView。在某些类中,如果我包含自定义UIWebView,我需要知道web视图加载是否完成。 我可以使用webViewDidFinishLoad在自定义类中获取此信息,但如何将其传输到主视图,在主视图中添加此自定义UIWebView。我需要在WebView加载时启用一些按钮 我希望你能理解。 谢谢我认为最好的解决方案是创建一个委托模式。您可以将该类(包括UIWebView)作为委托传递,然后当UIWebView完成时,您只需要回调该类以进行通知 在自定义UIWeb

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

我希望你能理解。
谢谢

我认为最好的解决方案是创建一个委托模式。您可以将该类(包括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)];
}

谢谢,但是你能告诉我如何为此创建代理吗。如果你能举个例子就好了。这将帮助我学习:)一个简单的问题,我们可以使用@protocol做同样的事情吗。就像使用id。。。提前感谢您可以使用协议执行此操作,您不再需要传递回调:)