从Swift中的闭包中获取数据

时间:2014-10-10 11:36:16

标签: rest swift closures

我正在尝试使用Swift对var url : String = "http://ip.jsontest.com/"进行测试REST调用。我想要做的是在UITextView中显示结果(基本上只是打印JSON)。

现在我想用这个片段来实现这个目标:

     NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in 
// code

但是,我不知道如何将数据从Closure中导入我的UITextView。打印到控制台没有问题,但将数据写入var并将其返回到我的TextView不起作用。

2 个答案:

答案 0 :(得分:0)

如下所示完成封闭......

编辑:

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) in
if(data != nil){
    //Display the json using your textview object
    //self.textView.text = .... data (convert the data as you wanted.)
    let responseData : NSString = NSString(data: data, encoding: NSUTF8StringEncoding)
    self.textView.text = reponseData


 }
})

答案 1 :(得分:0)

基本上我可以像这样得到数据:

   dispatch_async(dispatch_get_main_queue())
                {
                    self.resultView.text = "\(data)"

            }