大家好,我在iOS项目中使用Firebase ...
查询数据库时,在Firebase块之外使用变量的值会遇到很多麻烦。

例如,在这种情况下,我试图从该查询中获取数字值...

 FIRDatabaseReference *userDbRef = FIRDatabase.database.reference;
 [[[userDbRef child:RTDUSER] child:userID] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {

     NSUInteger totalCFU = [snapshot.value[RTDUSER_TOTALCFU] unsignedIntegerValue];

} withCancelBlock:nil];


我需要在块外(在此类的其他函数中)也获得的该数字值...

如何在firebase块外使用TotalCFU变量?

最佳答案

您可以从块内部调用方法来处理该值。

FIRDatabaseReference *userDbRef = FIRDatabase.database.reference;
 [[[userDbRef child:RTDUSER] child:userID] observeSingleEventOfType:FIRDataEventTypeValue withBlock:^(FIRDataSnapshot * _Nonnull snapshot) {

    NSUInteger totalCFU = [snapshot.value[RTDUSER_TOTALCFU] unsignedIntegerValue];

    // Call a function to handle value
    [self doSomethingWithCFU: totalCFU];

} withCancelBlock:nil];


班上其他地方:

(void)doSomethingWithCFU:(NSUInteger)totalCFU {
    // Do something with the value
}

关于ios - 在Firebase块外使用变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49904278/

10-10 08:35