J'ai deux fonctions: func Females_NonChat()
et func males_NonChat()
Je veux attendre que deux d'entre eux pour terminer avant d'exécuter l'instruction d'impression dans viewDidLoad. Ai-je besoin d'un autre gestionnaire de complétion pour accomplir cela?attendre deux fonctions d'achèvement asynchrones pour terminer, avant d'exécuter le code suivant la ligne
Les fonctions utilisées sont des gestionnaires d'achèvement Firebase pour demander des informations à la base de données en ligne ...
override func viewDidLoad() {
super.viewDidLoad()
func Females_NonChat()
func males_NonChat()
print("finished executing both asynchronous functions")
}
func Females_NonChat(){
Anon_Ref.child("Chatting").child("female").observeSingleEventOfType(.Value, withBlock: {(snapshot) in
if let FemInChatting = snapshot.value as? [String : String] {
print("executing")
}
})
}
func males_NonChat(){
Anon_Ref.child("Chatting").child("male").observeSingleEventOfType(.Value, withBlock: {(snapshot) in
print("executing")
})
}
Que diable est 'func Females_NonChat(); func males_NonChat() 'dans votre' viewDidLoad'? Ce n'est même pas légal Swift. Fournir le code que _compiles_ (si vous le pouvez). – matt
Je dirais que c'est un doublon total de http://stackoverflow.com/questions/11909629/waiting-until-two-async-blocks-are-executed-before-starting-another-block?rq=1, qui apparaît en premier dans la liste associée. Avez-vous même essayé de chercher avant de demander? – matt
@matt dans la mesure où je sais que nous pouvons utiliser des fonctions imbriquées dans Swift, donc la fonction peut contenir une autre fonction à l'intérieur, non? –