2014-06-21 48 views
0

我想为一个swift应用程序使用api,我需要发出一个URL请求来检索json格式的信息。如何在Swift中进行URL调用

我试图按照网上例如:

var urlString = "http://api.shephertz.com" // Your Normal URL String 
var url = NSURL.URLWithString(urlString)// Creating URL 
var request = NSURLRequest(URL: url) // Creating Http Request 
var response:AutoreleasingUnsafePointer<NSURLResponse?> = nil; 
var error: AutoreleasingUnsafePointer<NSErrorPointer?> = nil; 
// Sending Synchronous request using NSURLConnection 
var responseData = NSURLConnection.sendSynchronousRequest(request, returningResponse: response, error:nil) as NSData 
if error != nil 
{ 
    // You can handle error response here 
} 
else 
{ 
    //Converting data to String 
    var responseStr:NSString = NSString(data:responseData, encoding:NSUTF8StringEncoding) 
} 

但我还没有见过AutoreleasingUnsafePointer使用,我无法找到关于它的苹果文档中任何事情。上面的例子不起作用,我想知道是否有其他方法可以做到这一点。

回答

1

这不是一个快速修复,但我建议AFNetworking,这使得这种方式更容易。顶级answer here explains如何在2分钟内将AFNetworking与Swift整合在一起。

+0

感谢您的链接。我打了电话,但我在网络上遇到了一些问题,导致“网络连接丢失”错误。有什么具体的原因呢? – DosCadenas

+0

AFNetworking是否需要在单独的线程上执行? – DosCadenas

+0

不,您可以从主线程调用AFNetworking。他们处理线程,然后在完成主线程时调用完成块! – Ryan