簡體   English   中英

多次調用的方法

[英]Method getting called multiple times

我在我的項目中使用MPMoviePlayer 我已經注冊了電影播放器​​完成通知,它運行良好。 每當收到電影播放器​​錯誤的通知時,我都會顯示錯誤提醒。 但問題是錯誤警報會多次顯示。 之所以會發生這種情況,是因為同一錯誤會同時收到多個通知。 我嘗試使用布爾變量來控制警報顯示,但由於通知是同時收到的,因此無效。 我應該采用什么方法,請建議。 我的通知方法代碼:

MPMovieFinishReason reason = [[[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] intValue];
NSError *errorMsg = [[notification userInfo] valueForKey:@"error"];
NSString *errmsg = [errorMsg localizedDescription];
if (reason == 1 && !errorReceived){
    NSError *errorMsg = [[notification userInfo] valueForKey:@"error"];
    NSString *errmsg = [errorMsg localizedDescription];
    [self showErrorAlert];
}

用於注冊通知:

NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(moviePlayerDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:self.player];

用於刪除觀察者,在viewWillDisappear

[[NSNotificationCenter defaultCenter]removeObserver:self];

一旦出現錯誤,請刪除觀察者

[[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:player];

並在單擊播放后添加觀察者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM