Я делаю API
запрос с Alamofire
, я затем получить ответ в формате JSON
, то я разобрать JSON
в NSDictionary
, чтобы добраться до данных я хочу. Данные, которые я получаю, это четыре Arrays
разных товаров. Я хочу к создать новый список в Realm, чтобы сохранить эти пункты в Вот мои Realm Классы объектов:.Создание нового списка Realm и добавлять элементы
class ListOfDefinitions: Object {
let listOfItems = List<Item>()
}
и
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 = ""
}
Вот мой код о том, как я обрабатывать JSON ответ и где я хочу сохранить данные в моем коде.
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)")
}
А вот то, что я получаю, когда я печатаю 4 Массивы
Когда вы произносите «Данные, которые я получаю, это четыре« Массивы »разных предметов». Вы имеете в виду массив из 4 предметов? – wint
Да, это массив из 4 предметов, каждый элемент содержит AverageCost = 0; Barcode = ""; Описание = "ИСПЫТАТЕЛЬНЫЙ ПУНКТ 2"; InternalUnique = 2; LastCost = 0; LimitToMainRegionUnique = "-1"; Примечания = ""; StockCategoryUnique = 0; StockCode = BBCD45785; StockGroupUnique = 0; UnitDescriptor = Единицы; –
извините, если это немного беспорядочно, в бит Crunch –