なぜこれが起こっているのかわかりませんが、AWS で BFTASK を使用するクエリを実行すると、その中のメソッドは 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 の変更はメソッドが呼び出されてからしばらく経つまで適用されないことです。