i have code outlined below, final call dispatch_group_notify
. never occurs
// friends: dispatch_group_enter(self.dbgetqueue) getfriends.observesingleeventoftype(.value, withblock: { snapshot in detaildata in snapshot.children { print(detaildata) self.friends.append(member(userid: detaildata.key, username: detaildata.value!["username"] as! string)) } dispatch_group_leave(self.dbgetqueue) }) // group memebers: dispatch_group_enter(self.dbgetqueue) getgroupmembers.observesingleeventoftype(.value, withblock: { snapshot in groupmemberdetail in snapshot.children { print(groupmemberdetail) if groupmemberdetail.key != feastglobal.sharedinstance.userid { self.groupmembers.append(groupmemberdetail.key) } } }) // group invites presently out: dispatch_group_enter(self.dbgetqueue) getfriendmemberinvites.observesingleeventoftype(.value, withblock: { snapshot in groupinvitepresentlysentdetail in snapshot.children { self.groupinvitessent.append(groupinvitepresentlysentdetail.key) } dispatch_group_leave(self.dbgetqueue) }) dispatch_group_notify(self.dbgetqueue, dispatch_get_main_queue()) { // final load of left of conacts (not user or friend) // have list of friends, set iterate through: // 0: not invited yet, 1: invited (eiter declined or not replied yet) not , 2: member -- have alert noting user became group member print(self.groupmembers.count) print(self.friends.count) print(self.groupinvitessent.count) afriend in self.friends { print("friends name is: " + afriend.username) var invitestatus = invite(username: afriend.username, status: "not invited yet", statussort: 0, name: afriend.username, userid: afriend.userid) if self.groupmembers.contains(afriend.userid) { invitestatus.statussort = 2 invitestatus.status = "member" self.memberstatuses.append(invitestatus) } else if self.groupinvitessent.contains(afriend.userid){ invitestatus.statussort = 1 invitestatus.status = "invited" self.memberstatuses.append(invitestatus) } else { self.memberstatuses.append(invitestatus) } } self.tableview.reloaddata() }
hwo can alleviated?