我不确定为什么会发生这种情况,但是当我在使用 BFTASK 的 AWS 上运行查询时,其中的一个方法直到 BFTASK 处理程序完成很久之后才会完成。NSLog 在正确的时间打印在控制台中,但更改 UILabel 状态的代码直到很久之后才应用。
例如,我有
[[dynamoDBObjectMapper query:[UsernameDB class] expression:queryExpression] continueWithBlock:^id(BFTask *task) {
if (task.error) {
NSLog(@"Error: [%@]", task.error);
});
} else {
//Other code
if(x > 0){
[self notAvailable];
} else{
[self available];
}
}
哪个电话
-(void)available{
NSLog(@"Username Available");
self.availabilityLabel.text = @"Available";
self.availabilityLabel.textColor = [UIColor greenColor];
}
现在让我感到困惑的是,NSLOG在正确的时间打印在控制台中,但是 UILabel 中的更改直到调用该方法很久之后才应用。