Я использую базу данных Firebase в реальном времени.Я запрашиваю данные и помещаю их в объект, который я создал с помощью цикла For, но если я хочу использовать объект после метода запроса, это nul.Вот код и увидеть комментарии, какие-либо предложения?
Я пытаюсь использовать "class", "struct" и "init"
var StockOb : [StockModel2] = []
var tempstock : [StockModel2] = []
override func viewDidLoad() {
super.viewDidLoad()
self.StockOb = [StockModel2]()
self.tempstock = [StockModel2]()
}
func getdata()
{
let ref = Database.database().reference()
ref.child("MyStock").observe(.value) { (snapchot) in
let AllStock = snapchot.value as! NSDictionary
for (key,_) in AllStock {
let ab = StockModel2()
let OneStock:NSObject = AllStock[key] as! NSObject
ab.name = OneStock.value(forKey: "name") as? String
ab.quan = OneStock.value(forKey: "quan") as? Int
ab.price = OneStock.value(forKey: "price") as? Int
ab.total = OneStock.value(forKey: "total") as? Int
self.StockOb.append(ab)
}
/// here it's ok
print("[+] iside firebase method = \(self.StockOb[0].price!)")
self.tempstock = self.StockOb
}
/// here it's nil
print(self.tempstock[0].name) // nil
print(self.StockOb[0].name) // nil
}
Это мой объект:
class StockModel2 : NSObject{
var name :String!
var quan : Int!
var price : Int!
var total : Int!
}
Я хочу использовать свой объект в любом месте, после того как добавлю его в «self.StockOb» или «self.tempstock»