我必须从Firebase检索用户和用户数据列表。数据相对较大,所以我使用后台线程使用以下代码检索它:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
FIRDatabaseReference *ref = [[FIRDatabase database] reference];
[[ref child:@"users"] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {
for (FIRDataSnapshot *userSnapshot in [snapshot children]) {
NSLog(@"key %@ and value %@", userSnapshot.key, userSnapshot.value);
}
}];
});
块开始执行时出现问题。当输出打印到控制台时,将阻止与应用程序的任何用户交互。我尝试用 DISPATCH_QUEUE_PRIORITY_DEFAULT 替换 DISPATCH_QUEUE_PRIORITY_BACKGROUND ,但没有取得任何成功。