0
基本的に、私は非同期ネットワーキング機能があります。ブロックの情報をSwiftに保存するにはどうしたらいいですか?
func networking(callback:NSDictionary -> Void) {
//stuff happens here
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) { data, response, error in
if let error = error {
print("ERROR: \(error)")
return
}
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)
//print(json)
callback(json as! NSDictionary)
if let dataDict = json["data"] as? [String:AnyObject],
let rememberToken = dataDict["remember_token"] as? String {
self.rememberToken = rememberToken
//print("SUCCESS: \(rememberToken)")
// display success label & make button to get schedules available
}
} catch {
print(error)
}
}
task.resume()
}
をそして、私にできることすべては、私は戻って取得しています印刷(JSON)データです。私は本当に覚えているトークンがほしいだけです。私はそれをプロパティに保存しています。私が持っている問題は、プロパティを呼び出すと、メインスレッドが最初に実行されてから何も得られないということです。そこに保存されたプロパティから保存トークンにアクセスするにはどうすればよいですか?
他の場所に保管することはできますか?
これを行うにはどうすればよいですか?ブロックに
好ましいがなるブロックを使用
の委任を使用してプロトコル
:
覚え書きトークンは、コールバック(トークンを印刷している行の近く)のみで使用する必要があります。 – paulvs
トークンを保存するために式の後に**コールバック行を挿入する – vadian
self.rememberToken = rememberTokenの後の行にコールバック(!NSDictionaryとしてjson)を移動しましたが、次の関数に移動して " self.rememberToken)、私はまだ何も得ません。 – John