json - 关于 swift 解析 JSON

标签 json swift parsing

我有一个问题。我正在尝试解析 JSON。但是,我遇到了错误。这行“completionHandler(modelList)”中的名称为“无法调用非函数类型‘[Movie]’的值”,您能帮我吗?

这是我的课;

class Movie {
    var type : String?
    var title: String?
    var thumbnail: String?
    var id: String?

    init(Dictionary : [String:AnyObject]){
        self.title = Dictionary["Title"] as? String
        self.id = Dictionary["Id"] as? String
        self.type = Dictionary["Type"] as? String   
    }
    static func fetchData(completionHandler: ([Movie])) -> () {
        let urlString = "http://tcm-api.azurewebsites.net/api/movie/search?term='Batman'&page=1"
        NSURLSession.sharedSession().dataTaskWithURL(NSURL(string: urlString)!) { (data, response, error) -> Void in
            if error != nil {
                print(error)
                return
            }

            do {
                var modelList = [Movie]()

                let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers)
                for resultDictionary in json["Data"]!!["Results"] as! [[String : AnyObject]]  {
                    let model  = Movie(Dictionary: resultDictionary)
                    modelList.append(model)
                }
                dispatch_async(dispatch_get_main_queue()) {
                    completionHandler(modelList)
                }
            } catch {
                print(error)
            }

        }.resume()
    }
}

最佳答案

如果仔细查看函数声明:

func fetchData(completionHandler:([Movie]))->() {

等于:

func fetchData(completionHandler: [Movie]) {

你想要的是这样的:

func fetchData(completionHandler: [Movie] -> Void) {

关于json - 关于 swift 解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38173350/

相关文章:

javascript - 从 JSON 对象/字符串或 Java 脚本变量中删除开始和结束处的双引号?

ios - 使用 UICollisionBehavior 调整 UIView 的大小

c# - 解析字符串以生成谓词

Linux shell 命令反转变长文本记录的字段顺序

javascript - 如何从 HTML 文档中获取仅文本(无标签)?

java - 如何断言 JSON 节点具有分配给它们某些值的子节点?

javascript - innerHTML 中的输入值

json - 在go中动态编码json键

iOS:Firebase 和 facebook 帐户工具包登录

ios - 通过滑动导航在 xib/nib 文件之间移动