2016-03-21 15 views
0

私はこのように、タスクを使用してリクエストを送信しています:タスクをどのようにポイントするのか? IOS迅速

let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in 

       dispatch_async(dispatch_get_main_queue(), { 

        //remove from queue 
        weakself?.popTask(task: task) 
    } 
} 

self.pushTask(task) 
task.resume() 

iは、再開する前にキューにタスクをプッシュする必要があります。私はそれが終わった後にそれをポップする必要があります。このエラーが発生した問題:

どうすればいいですか?このエラーが発生しました: タスクを作成し、完了ハンドラを設定することは可能ですか?私はあなたはそれがまだ作成されていないため、終了ブロックは、タスクを参照することができないことを正しいだと思う

おかげ

答えて

0

。あなたがそれを設定する前に、単純に定数を宣言し、この問題を回避するには、それ自身の初期値

内で使用

変数:によって意味されるものである

。例えば

let task: NSURLSession 
task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in 

      dispatch_async(dispatch_get_main_queue(), { 

       //remove from queue 
       weakself?.popTask(task: task) 
} 
+0

これはretain_cycleを作成しますか? – david

関連する問題