我对 PushRow 有一点问题。我通过 JSON 检索我的值,但我不能将它们放在 PushRow 中:/
我的价值观:
{
"listValue": [{
"id": 1,
"value": "Value 1"
},{
"id": 2,
"value": "Value 2"
},{
"id": 3,
"value": "Value 3"
}]
}
1/ 声明一个结构来保存 id 和 value :
struct MyStruct {
var id: Int
var value: String
init(id: Int, value: String) {
self.id = id
self.value = value
}
}
2/ 使其符合 Equatable
struct MyStruct {
var id: Int
var value: String
init(id: Int, value: String) {
self.id = id
self.value = value
}
}
extension MyStruct: Equatable {}
func ==(lhs: MyStruct, rhs: MyStruct) -> Bool {
let areEqual = lhs.id == rhs.id &&
lhs.value == rhs.value
return areEqual
}
3/ 使 MyStruct 符合 CustomStringConvertible
struct MyStruct : CustomStringConvertible {
var id: Int
var value: String
init(id: Int, value: String) {
self.id = id
self.value = value
}
var description: String {
return "\(self.id)"+" "+"\(self.value)"
}
}
extension MyStruct: Equatable {}
func ==(lhs: MyStruct, rhs: MyStruct) -> Bool {
let areEqual = lhs.id == rhs.id &&
lhs.value == rhs.value
return areEqual
}
现在,我在将 json listValue 响应转换为 MyStruct 数组时遇到了问题。(无法将“[String : JSON]”类型的值分配给“[MyStruct]”类型)怎么做?
在我的代码中,我使用Eureka
<<< PushRow<MyStruct>(idItem) {
$0.title = item["libItem"].stringValue
$0.options = item["listValue"].dictionaryValue
我的 listValue 是一个 JSON(带有SwiftyJSON)
你有什么想法可以帮助我吗?