2

実際の状況を考慮して、3 人 (A さん、B さん、C さんなど) に仕事を割り当てたとします。それぞれがタスクを完了するのを待つのではなく、各人が割り当てられたすべてのタスクを完了すると、彼/彼女ははっきりと私に通知します。私が彼/彼女の仕事に基づいてさらに決定を下すことができるように.

個別のスレッドとデリゲートを使用せずに、この状況をコードで実装したいと思います。つまり、NSNotification を使用します。

プログラミングでこれを行うにはどうすればよいですか、コード (iPhone SDK-Objective C) を使用して上記の状況を解決できますか?

4

2 に答える 2

1

別々のスレッド (またはある種のシミュレートされた非同期性) を使用していない限り、3 人はお互いに待機する必要があり、通知を使用しても意味がありません。

于 2011-04-29T12:38:39.073 に答える
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 を使用できます。ご理解いただければ幸いです。

于 2011-04-29T12:34:34.200 に答える