我在以下行中收到错误...
let taskData = session.dataTaskWithRequest(request, completionHandler: { ( data: NSData!, reponse:NSURLResponse!, error: NSError!) -> Void in
让 parsedStores = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &parseError) 作为! NSDictionary
如果让商店:AnyObjec = parsedStores["Stores"]
这段代码在 IOS8 上适用于我,我将语法转换为最新的 Swift 语法,但它给我留下了这些错误,我试图专门针对语法编辑器中的错误区域,但它仍然没有修好它。请帮我摆脱这些。谢谢
函数代码。
func loadRecords()
{
let urlString = "http://google.com"
let config = NSURLSessionConfiguration.defaultSessionConfiguration()
let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: nil)
//Create the URL Object
if let url = NSURL(string: urlString)
{
// Create the request object
let request = NSURLRequest(URL: url)
// execute the request
let taskData = session.dataTaskWithRequest(request, completionHandler: { ( data: NSData!, reponse:NSURLResponse!, error: NSError!) -> Void in
// Do something with the data back
if (data != nil)
{
//get some data back
print("\(data)")
var parseError:NSError?
let parsedStores = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: &parseError) as! NSDictionary
println("JSON Data \n \(parsedStores)")
if let stores: AnyObjec = parsedStores["Stores"]
{
self.parseJSON(stores)
}
} else
{ //we got an error
print("Error getting stores: \(error.localizedDescription)")
}
})
taskData.resume()
最佳答案
方法签名已更改,它现在接受可选值而不是强制展开的对象:
func dataTaskWithRequest(_ request: NSURLRequest,
completionHandler completionHandler: (NSData?,
NSURLResponse?,
NSError?) -> Void) -> NSURLSessionDataTask
这应该可以解决您的错误,但您可以阅读更多 here .
关于json - 在 swift 中创建一个 url 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33840234/