【发布时间】:2015-11-02 03:56:55
【问题描述】:
当 xcode 给我它一直指向的“调用中的额外参数'错误'”时,我一直无法理解 xcode 想要从我这里得到什么
if let feed = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: nil) as? NSDictionary,
我在某处读到,在 swift 2 中我应该添加 do {,但每次添加它时,我都会不断破坏更多内容。 swift 2中的正确语法是什么?
这是代码:
override func viewDidLoad() {
super.viewDidLoad()
let request = NSURLRequest(URL: NSURL(string: feedURL)!)
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue()) { response, data, error in
if let feed = NSJSONSerialization.JSONObjectWithData(data, options: .MutableContainers, error: nil) as? NSDictionary,
title = feed.valueForKeyPath("feed.entry.im:name.label") as? String,
artist = feed.valueForKeyPath("feed.entry.im:artist.label") as? String,
imageURLs = feed.valueForKeyPath("feed.entry.im:image") as? [NSDictionary] {
if let imageURL = imageURLs.last,
imageURLString = imageURL.valueForKeyPath("label") as? String {
self.loadImageFromURL(NSURL(string:imageURLString)!)
}
self.titleLabel.text = title
self.titleLabel.hidden = false
self.artistLabel.text = artist
self.artistLabel.hidden = false
}
}
}
【问题讨论】:
-
那是因为在 Swift 2 中这个方法没有错误参数。
-
是的,但正确的做法是什么?