ios - Parse.com 应用程序在我获得我想要的值之前继续前进(异步)iOS

标签 ios asynchronous parse-platform

我使用查询 FindObjectsInBackgroundWithBlock (assync) 从 web 服务中获取值...我希望在应用程序加载之前在 appdelegate 上获得该值。我正在尝试这样做,但他仍然在检查网络服务以获取值(value)之前加载应用程序。我该如何处理?我已经尝试过使用 NSTimer..

我在 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中调用了这个方法:

-(void)checkUserVersion{
    PFQuery *query = [PFQuery queryWithClassName:@"sqliteversion"]; //1
    // NSNumber *n=databaseVersion;
    [query whereKey:@"user_version" equalTo:[NSNumber numberWithInt:[databaseVersion integerValue]]];//2
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {//4
        if (!error && [objects count]>0) {

            for (PFObject *object in objects) {
                valor1=[[object objectForKey:@"Value"]intValue];
                user_version=[NSNumber numberWithInt:valor1];


            }

        }
    }];
}

最佳答案

您可能想评估为什么有必要在发布前从 Parse.com 获取此信息。此外,“启动前”可能意味着很多事情,并且有许多解决方案不涉及在第一个 View 附加到窗口并显示之前做“所有事情”。

就是说...在前台运行 PFQuery 提取。但是,这样做会阻止其余代码的执行。而不是 findObjectsInBackground 只需使用 PFQuery 的 findObjects 方法。不过,我建议不要这样做,而是尝试找出一种方法来等待查询返回,同时应用程序已加载。也许您可以暂停用户交互但显示加载指示器或其他内容?

关于ios - Parse.com 应用程序在我获得我想要的值之前继续前进(异步)iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18539220/

相关文章:

iphone - 将同一对象添加到多个对多关系

asynchronous - 如何将带有引用变量的异步函数放入函数中?

ios - 在 Swift 中更新角标(Badge)计数器

.net - .NET 中异步操作的线程静态变量

python - AIORedis 和 PUB/SUB 不是 asnyc

ios - 在 UITableView 中显示来自 Parse.com 上两个类的(全部)数据

Android Parse——具有字段/列列表相等条件的ParseQuery

ios - 设置不同size classes的约束,view不会出现在landscape中

iphone - 如何从 View 中隐藏 iphone 中的标题栏(顶部栏)

ios - 使用自动布局 (iOS) 时,UIView 中的 UIButton 不响应用户点击