考虑到现实生活情况,假设我已经为3个人分配了一些工作(比如人员A,人员B,人员C),而不是等待他们分别完成任务,我希望每个人完成所有分配的任务时,他/她会清楚地通知我。这样我就可以根据他/她的任务做出进一步的决定。
我想在代码中实现这种情况,不使用单独的线程和委托,我的意思是使用NSNotification。
如何使用编程来完成这些工作,您可以使用代码解决上述情况(iPhone SDK-Objective C)吗?
答案 0 :(得分:1)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification object:self.moviePlayer.moviePlayer];
- (void)myMovieFinishedCallback:(NSNotification*)aNotification
{
// Release the movie instance created in playMovieAtURL
MPMoviePlayerController *theMovie = [aNotification object];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIDeviceOrientationDidChangeNotification
object:theMovie];
[theMovie stop];
[theMovie.view removeFromSuperview];
}
像这样你可以使用NSNotification。希望你明白。
答案 1 :(得分:1)
只要您不使用单独的线程(或某种模拟的异步性),3个人就需要彼此等待并且使用通知并不真正有意义。