每次收到来自 nsmanageObjContext 的通知时,我都想更新标签的文本。
这是我添加观察者的代码:
- (IBAction)requestFotPhoto {
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateLabel) name:NSManagedObjectContextDidSaveNotification
object:self.facebook.managedObjectContext];
这是更新标签的方法:
-(void)updateLabel
{
NSString *text = [NSString stringWithFormat:@"Downalad %i pictures",[Photo NumeberOfAllPhotosFromContext:self.facebook.managedObjectContext]];
dispatch_async(dispatch_get_main_queue(), ^{
//UIKIT method
NSLog(@"text %@",text);
[self.downlaodLabel setText:text];
});
}
我假设 updateLabel 在另一个线程中执行,所以我在主线程上执行更新标签的指令,但是这段代码没有效果。问题出在哪里?
显然 NSlog 打印了正确的信息!
谢谢!