Tôi bối rối vì sao người quan sát không bao giờ bị loại bỏ trong đoạn mã sau. Trong viewDidAppear của tôi, tôi có như sau:Tại sao không loại bỏ Observer khỏi NSNotificationCenter: addObserverForName: usingBlock được gọi là
-(void)viewDidAppear:(BOOL)animated{
id gpsObserver = [[NSNotificationCenter defaultCenter]
addObserverForName:FI_NOTES[kNotificationsGPSUpdated]
object:nil
queue:[NSOperationQueue mainQueue]
usingBlock:^(NSNotification *note){
NSLog(@"run once, and only once!");
[[NSNotificationCenter defaultCenter] removeObserver:gpsObserver];
}];
}
Các quan sát viên không bao giờ bị loại bỏ và tuyên bố là đầu ra mỗi khi thông báo được gửi ra. Bất cứ ai có thể cung cấp bất kỳ hướng dẫn?
Điều đó có ý nghĩa và hoạt động như mong đợi; cảm ơn sự giúp đỡ của bạn. – warpedspeed