完成从Web获取JSON的完成处理程序,SWIFT

时间:2016-06-07 08:00:01

标签: json swift closures completion

这就是代码现在的样子:

func fetchSalahtimes (){


    let url = NSURL(string: "http://irvingmasjid.org/salah2016.php")
    let request = NSURLRequest(URL: url!)
    let config = NSURLSessionConfiguration.defaultSessionConfiguration()
    let session = NSURLSession(configuration: config)

    let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in

        if data != nil{ // is this how i should do it to check for success/fail/errors? 



        }

    });

    // do whatever you need with the task e.g. run
    task.resume()

}

我在SO或谷歌搜索过类似的问题,但我找不到真正适合我的东西。我通过搜索来到这里。

我正在尝试掌握如何使用完成处理程序。该代码应该从Web中获取一些json内容。这是我需要帮助解决一些问题的地方。

1)如果我要从另一个类调用此函数,我如何检索使用此完成处理程序获取的内容?

2)我应该如何以及在哪里写文字来实际获取内容?每次我写这个来获取JSON内容:

    if data != nil{

        let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)

        let sunrise = json["sunrise"] as! String

        print(sunrise)

        salahTimes.append(sunrise)
    }

我收到此错误消息:

Invalid conversion from throwing function of type '(_, _, _) throws -> ()' to non-throwing function type '(NSData?, NSURLResponse?, NSError?) -> Void'

0 个答案:

没有答案