This is my first attempt at XCode, used to work on MatLab so very new to this. I have a VC here (named guests2ViewController) which I'm trying to send data to the next VC (named resultsViewController). Unfortunately the VC is exporting the data from the lines (print "b") instead of the earlier lines (print "a"). Why is this, and how could I fix it?
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let vc = segue.destination as? resultsViewController
if segue.identifier == "toresults"{
//prioritise this part of code - call it part A
Database.database().reference(withPath: self.password).observeSingleEvent(of: .value, with: { snapshot in
//dates
var arr = [String]()
//times
var arr1 = [String]()
//number of attendees
var arr2 = [String]()
let enumerator = snapshot.children
while let rest = enumerator.nextObject() as? DataSnapshot {
let newobj=rest.children
while let rest1 = newobj.nextObject() as? DataSnapshot {
arr.append(rest.key)
arr1.append(rest1.key)
arr2.append(String(rest1.childrenCount))
let guests = arr2.max()
var index = 0
for n in arr2 {
if n == guests {
//print (index)
let datefromarray = String(arr[index])
let timefromarray = String(arr1[index])
let guests1 = String(Int(guests!)!)
vc?.databasedate = (datefromarray)
vc?.databasetime = (timefromarray)
vc?.databaseguests = (guests1)
break
}
index += 1
}
}
}
print(vc?.databasedate)
print(vc?.databasetime)
print(vc?.databaseguests)
print("a")
//this doesn't get sent to the next VC after taking the data from Firebase
})
}
print(vc?.databasedate)
print(vc?.databasetime)
print(vc?.databaseguests)
print("b")
//this gets sent to the next VC
}
}