ich eine API
Anfrage machen mit Alamofire
, bekomme ich dann eine Antwort in JSON
Format habe ich dann die JSON
in eine NSDictionary
analysieren, um die Daten zu erhalten, die ich will. Die Daten, die ich bekomme, sind vier Arrays
von verschiedenen Artikeln. Ich möchte die eine neue Liste in Realm erstellen in diese Elemente speichern Hier sind meine Realm Objektklassen.und fügen Sie Artikel
class ListOfDefinitions: Object {
let listOfItems = List<Item>()
}
und
class Item: Object {
dynamic var AverageCost = Int()
dynamic var Barcode = ""
dynamic var Description = ""
dynamic var InternalUnique = Int()
dynamic var LastCost = Int()
dynamic var LimitToMainRegionUnique = Int()
dynamic var Notes = ""
dynamic var StockCategoryUnique = Int()
dynamic var StockCode = ""
dynamic var StockGroupUnique = Int()
dynamic var UnitDescriptor = ""
}
Hier ist mein Code auf, wie ich die JSON Griff Antwort und wo ich die Daten in meinem Code speichern möchte.
var newItemInStockList : ListOfDefinitions! // declared in the class
let newItemInStock = Item()
.responseJSON { response in
switch response.result {
case .Success(let JSON):
// print("Success with JSON: \(JSON)")
let response = JSON as! NSDictionary
let responseParams = response.objectForKey("ResponseParameters") as! NSDictionary
//print(responseParams)
//let stockItemGroupList = responseParams.objectForKey("StockItemGroupList")
let stockItemList = responseParams.objectForKey("StockItemList") as! NSDictionary
//print(stockItemList)
let listofDefinitions = stockItemList.objectForKey("ListofDefinitions") as! NSArray
print(listofDefinitions.count)
for defJson in listofDefinitions {
print(defJson["Description"])
someString = defJson["Description"] as! String
print(someString)
// Because there are 4 arrays of items this for loop will be red 4 times, each time it is red I want o create a new list and add the items to the list
// This comment area is where I tried to create a new list and then .append the items in it, but it doesn't work.
// let newOne = ListOfDefinitions()
//
//
// try! realm.write{
//
// realm.add(newOne)
// }
// self.newItemInStock.AverageCost = defJson["AverageCost"] as! Int
// self.newItemInStock.Barcode = defJson["Barcode"] as! String
// self.newItemInStock.Description = defJson["Description"] as! String
// self.newItemInStock.InternalUnique = defJson["InternalUnique"] as! Int
// self.newItemInStock.LastCost = defJson["LastCost"] as! Int
// self.newItemInStock.LimitToMainRegionUnique = defJson["LimitToMainRegionUnique"] as! Int
// self.newItemInStock.Notes = defJson["Notes"] as! String
// self.newItemInStock.StockCategoryUnique = defJson["StockCategoryUnique"] as! Int
// self.newItemInStock.StockCode = defJson["StockCode"] as! String
// self.newItemInStock.StockGroupUnique = defJson["StockGroupUnique"] as! Int
// self.newItemInStock.UnitDescriptor = defJson["UnitDescriptor"] as! String
//
// try! realm.write{
//
// self.newItemInStockList.listOfItems.append(self.newItemInStock)
// }
}
case .Failure(let error):
print("Request failed with error: \(error)")
}
Und hier ist das, was ich bekomme, wenn ich die 4-Arrays drucken
Wenn Sie sagen "Die Daten, die ich bekomme, sind vier' Arrays' von verschiedenen Elementen. " Du meinst ein Array von 4 Gegenständen? – wint
Ja, es ist ein Array von 4 Items, jedes Item enthält AverageCost = 0; Barcode = ""; Beschreibung = "TEST ITEM 2"; InternalUnique = 2; LastCost = 0; LimitToMainRegionUnique = "-1"; Hinweise = ""; StockCategoryUnique = 0; StockCode = BBCD45785; StockGroupUnique = 0; UnitDescriptor = Einheiten; –
Entschuldigung, wenn es ein bisschen chaotisch ist, in ein bisschen Crunch –