2017-02-10 64 views
-1

我想在MainViewController加載之前獲得URL的代碼的代碼,現在我知道走動了,但它是可行的嗎?我試着把代碼放在willEnterForeground,didFinishLaunchingWithOptionsinit(),最後一個不時地工作。 之前有人問或認爲,爲什麼我會做到這一點,我主要是想知道現在是有一個更快的方法獲得響應代碼在ViewController加載之前獲取URL響應代碼?

let task = URLSession.shared.dataTask(with: url!) { _, response, _ in 
     if let httpResponse = response as? HTTPURLResponse { 
      print(httpResponse.statusCode) 

      if httpResponse.statusCode == 404 { 

       print("404") 

      } else if httpResponse.statusCode == 200 { 

       print("200") 

      } 
     } 
    } 
+0

您可以使用加載狀態。或者在主線程上執行此操作 –

+0

在加載整個請求之前,您無法獲取響應代碼。要在顯示視圖之前加載整個請求,您將不得不使用在阻塞線程上加載站點的非常糟糕的做法。 – milo526

+0

你說得對,雖然這解決了我想知道的問題,但我很感激。 –

回答

0

你所要做的是創建一個新的視圖控制器將指示某些內容正在加載,然後在異步方法成功時推送/呈現MainViewController

如果您嘗試阻止主線程,直到狀態到來,iOS監視程序可能會終止您的應用程序。 Source