相关疑难解决方法(0)

如何在swift中解析JSON文件?

我有一个JSON文件,想要解析并使用表视图中的对象列表.任何人都可以共享代码来解析swift中的JSON文件.

ios swift

85
推荐指数
5
解决办法
12万
查看次数

在NSURLConnection中从Swift中的completionHandler中获取数据

我正在尝试编写一个将执行异步GET请求的函数,并返回响应(作为任何数据类型,但在这里它是NSData).

这个问题基于:如何使用NSURLConnection completionHandler和swift

func getAsynchData() -> NSData {
    var dataOutput : NSData
    let url:NSURL = NSURL(string:"some url")
    let request:NSURLRequest = NSURLRequest(URL:url)
    let queue:NSOperationQueue = NSOperationQueue()

    NSURLConnection.sendAsynchronousRequest(request, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
            /* this next line gives the below error */
            dataOutput = data
    })
    return dataOutput
}
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误:

error: variable 'dataOutput' captured by a closure before being initialized
Run Code Online (Sandbox Code Playgroud)

我已经尝试从completionHandler返回值,但它需要一个void返回,这让我想起了我希望在没有帮助的情况下解决这个问题......:D

我看过: 如何在Swift中使用completionHandler Closure返回? 但这并没有真正回答我的问题.我的目标是从我的异步请求中获取数据,以便在我的代码中的其他地方使用.我是否应该在此块中执行此请求的所有工作而不是获取数据?

谢谢!

编辑

好的,所以我有一个选项,我觉得可能有用,但对我来说似乎不对.有人能告诉我这是否是实现目标的最佳方式?

func doThingsWithData( data: NSData ) -> …
Run Code Online (Sandbox Code Playgroud)

closures nsurlrequest completionhandler swift

13
推荐指数
1
解决办法
5912
查看次数

标签 统计

swift ×2

closures ×1

completionhandler ×1

ios ×1

nsurlrequest ×1