我是iOS World的新手。當我看到下載文件的方法時。我看到這個代碼:Swift:解釋NSURLSession.sharedSession()的語法語法。dataTaskWithURL
// create url
let imageURL = NSURL(string: Constants.CatURL)!
// create task
let task = NSURLSession.sharedSession().dataTaskWithURL(imageURL) {
(data, response, error) in print("task finished")
}
我真的不明白部分:
{
(data, response, error) in print("task finished")
}
凡data
response
error
對象從何而來?他們是哪一種?我熟悉一些Java,C#和以上的語言結構非常奇怪:在一個方法調用之後是一個{}
的codeblock。我只是看到,在iOS的有兩種方法,從上面非常不同:
let task = NSURLSession.sharedSession().dataTaskWithURL(url: NSURL)
let task = NSURLSession.sharedSession().dataTaskWithURL(url: NSURL, completionHandler: (NSData?, NSURLResponse?, NSError?) -> Void)
謝謝:)
有關匿名函數聲明語法的更多說明,請訪問:http://www.apeth.com/swiftBook/ch02.html#_anonymous_functions – matt
如果return是'Void'。我們可以省略' - >()'的部分,對吧? –
是的,在這種情況下,我們也可以省略括號並在''中寫入'param,param,param'。再次請看我給你的鏈接。它在那裏,等着你讀它。所以在這個例子中,他們可以寫這個,但他們沒有。 – matt