Ich habe ein kleines Problem mit PushRow. ich rufe meine Werte über JSON, aber ich kann sie nicht in der PushRow setzen:/SWIFT: Kann keinen Wert vom Typ zuweisen .../SwiftyJSON
Meine Werte:
{
"listValue": [{
"id": 1,
"value": "Value 1"
},{
"id": 2,
"value": "Value 2"
},{
"id": 3,
"value": "Value 3"
}]
}
1/eine Struktur Deklarieren Sie die ID und den Wert zu halten:
struct MyStruct {
var id: Int
var value: String
init(id: Int, value: String) {
self.id = id
self.value = value
}
}
2/Machen sie es gleichzusetzen entsprechen
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/Make MyStruct entspricht CustomStringConve rtible
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
}
Und jetzt habe ich ein Problem, die json Listvalue Antwort in ein Array von MyStruct zu konvertieren .. (kann nicht Wert vom Typ zuweisen '[String: JSON]' eingeben '[MyStruct]') Wie geht das?
In meinem Code verwende ich Eureka
<<< PushRow<MyStruct>(idItem) {
$0.title = item["libItem"].stringValue
$0.options = item["listValue"].dictionaryValue
My Listvalue ein JSON ist (mit SwiftyJSON)
Haben Sie eine Idee, mir zu helfen?