2016-09-02 8 views
0

私は小さな質問があります。私はappcoda.comではなく、データが完成した解析をロードされたときに何かをするオプションを使用していjsonローディングの終了を確認

func performGetRequest(targetURL: NSURL!, completion: (data: NSData?, HTTPStatusCode: Int, error: NSError?) -> Void) { 
    let request = NSMutableURLRequest(URL: targetURL) 
    request.HTTPMethod = "GET" 

    let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration() 

    let session = NSURLSession(configuration: sessionConfiguration) 

    let task = session.dataTaskWithRequest(request, completionHandler: { (data: NSData?, response: NSURLResponse?, error: NSError?) -> Void in 
     dispatch_async(dispatch_get_main_queue(), {() -> Void in 
      completion(data: data, HTTPStatusCode: (response as! NSHTTPURLResponse).statusCode, error: error) 
     }) 
    }) 

    task.resume() 
} 

:私はこのような機能を持っていると思います。ような何か:

UIView.animateWithDuration(3.0, delay: 0, options: .CurveEaseIn, animations: {() -> Void in 

     }, completion: {finished in 
      self.functionXY() 
    }) 

マイプランの詳しい内容は、第二のJSONリンクは最初のJSONデータから生成され、2つの特定のページからJSONデータをロードすることです。だから私は最初のものが終了した後にhttpリクエストを開始するべきです。 秒が終了すると、myViewをloadscreenからmainViewに変更する関数を呼び出す必要があります。

答えて

-1

単純なリクエストの代わりに、Alamofireまたは別のhttp/post-requestオープンソースライブラリに依存することができます。
そうでない場合は、あなたが希望

対応完了ハンドラでNSURLSessionDownloadTaskNSURLSessionDataTask/を使用することができ、これは

0

を助けるかもしれないあなたは、単にperformGetRequest:

func aFunction() { 
    performGetRequest(yourURL) { (data, HTTPStatusCode, error) in 
     if error == nil { 
      self.animate() 
     } 
    } 
} 

func animate() { 
    UIView.animateWithDuration(3.0, delay: 0, options: .CurveEaseIn, animations: {() -> Void in 

    }, completion: {finished in 
     self.functionXY() 
}) 
の完了ハンドラ内でのアニメーションコードを呼び出すことができます
関連する問題