无法为类型'项目'调用初始值设定项Swift iOS

时间:2015-08-23 09:13:38

标签: ios swift

我试图将JSON数据附加到数组中。虽然循环它不断推送错误,但是无法调用初始化程序来键入' item'带有类型的参数(id:JSON,title:JSON,detail:String,ImageURL:String)'

enter image description here

这是'项目'初始化程序看起来像: 导入UIKit

class Item: NSObject {
    var id: String, title: String, detail: String, imageURL: String

    init(id: String, title: String, detail: String, imageURL: String) {
        self.id = id
        self.title = title
        self.detail = detail
        self.imageURL = imageURL
    }
}

2 个答案:

答案 0 :(得分:1)

您的构造函数希望获得String并且您发送JSON

我猜你正在使用SwiftyJSON

所以将其编辑为

id    : result[i]["id"].stringValue
title : result[i]["title"].stringValue

如果您没有使用SwiftJSON将其转换为字符串

result[i]["id"] as! String //warning, this is not safe and better with if let

答案 1 :(得分:0)

在初始化对象之前,您需要将对象转换为特定类型。 尝试这样的事情。

var item: Item = Item(id: result[i]["id"] as! Int)

我只是猜测价值类型,但你明白了。尝试将每个值转换为显式类型。