Я пытаюсь добавить объект к массиву объектов.Добавить объект в переменную
var products: [Product] = []
init() {
Alamofire.request(.GET, Urls.menu).responseJSON { request in
if let json = request.result.value {
let data = JSON(json)
for (_, subJson): (String, JSON) in data {
let product = Product(id: subJson["id"].int!, name: subJson["name"].string!, description: subJson["description"].string!, price: subJson["price"].doubleValue)
print(product)
self.products.append(product)
}
}
}
self.products.append(Product(id: 1, name: "test", description: "description", price: 1.0))
print(self.products)
}
Я делаю петлю через мой ответ JSON и создание объекта Product, но когда я пытаюсь добавить к переменным продуктам, это не добавляет.
Вот выход:
[Checkfood.Product]
Checkfood.Product
Checkfood.Product
Checkfood.Product
Checkfood.Product
Checkfood.Product
Первая строка представляет print(self.products)
, а остальное print(product)
Спасибо
Вы печатаете 'self.products' слишком рано. Эта строка выполняется задолго до завершения асинхронного запроса. – rmaddy
@rmaddy У меня есть еще одна функция, которая просто возвращает общее количество элементов в этом массиве и всегда возвращает 0, когда я не добавляю себя. –