簡體   English   中英

Parse.com應用程序在我獲得我想要的值(異步)iOS之前前進

[英]Parse.com app goes forward before i get the value I want (async) iOS

我使用查詢FindObjectsInBackgroundWithBlock(assync)從webservice獲取值...我想在應用程序加載之前在appdelegate上使用該值。 我正在嘗試這樣做,但他仍然加載應用程序,然后檢查webservices以獲取值。 我該怎么處理? 我已經嘗試過NSTimer ..

我在-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions調用了這個方法-(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獲取此信息。 此外,它可能意味着許多事情要說“在發布之前”,並且有許多解決方案不涉及在第一個視圖附加到窗口並顯示之前執行“一切”。

那就是說...在前台運行PFQuery fetch。 但是,執行此操作將阻止執行其余代碼。 而不是findObjectsInBackground只使用PFQuery的findObjects方法。 我建議不要這樣做,而是嘗試找到一種方法,等待查詢返回,同時應用程序已加載。 也許你可以暫停用戶交互,但顯示一個加載指示器或什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM