In my class I have multiple Resource Siesta objects that I want all loaded with data before I populate the table view and enable user input.
Here's the code:
var trainees: Resource? {
didSet {
oldValue?.removeObservers(ownedBy: self)
trainees?.addObserver(self).addObserver(statusOverlay, owner: self).loadIfNeeded()
}
}
var points: Resource? {
didSet {
oldValue?.removeObservers(ownedBy: self)
points?.addObserver(self).addObserver(statusOverlay, owner: self).loadIfNeeded()
}
}
var exercises: Resource? {
didSet {
oldValue?.removeObservers(ownedBy: self)
exercises?.addObserver(self).addObserver(statusOverlay, owner: self).loadIfNeeded()
}
}
func resourceChanged(resource: Siesta.Resource, event: Siesta.ResourceEvent) {
tableView.reloadData()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.trainees = DataManager.sharedInstance.api.trainees
self.points = DataManager.sharedInstance.api.points
self.exercises = DataManager.sharedInstance.api.exercises
}
So the question is what is the best way to check that everything has been loaded before calling reloadData in the resourceChanged func. Thanks.