ios - How can i add a completion handler to this function? -


i have function calls it's self if conditions not met (which works fine) want add completionhandler it, i've tried different ways completion never returned of ways i've attempted.
runsearch()

func runsearch(){     search{         _ in         if (parresults.count < 20 && self.searchcounter < 20){             self.runsearch()//run search again**         }         if (parresults.count >= 20 && self.searchcounter < 20){             self.searchcomplete = true         }     } } 

what i've tried

runsearch() completionhandler call

self.runsearch{   msg in print("all done") //not executed } 

runsearch() completionhandler func 1

func runsearch(completionhandler: (bool) -> ()) -> () {     search{         _ in         if (parresults.count < 20 && self.searchcounter < 20){             self.runsearch{                 _ in             }         }         if (parresults.count >= 20 && self.searchcounter < 20){             self.searchcomplete = true             completionhandler(true)// never returned         }      } } 

runsearch() completionhandler func 2

 func runsearch(completionhandler: (bool) -> ()) -> () {     search{         _ in         if (parresults.count < 20 && self.searchcounter < 20){             self.runsearch{                 _ in                 if (parresults.count >= 20 && self.searchcounter < 20){                     self.searchcomplete = true                     completionhandler(true)//not returned                 }             }         }         if (parresults.count >= 20 && self.searchcounter < 20){             self.searchcomplete = true         }      } } 

you need pass completionhandler down line each new call runsearch:

func runsearch(completionhandler: (bool) -> ()) {     search{         _ in         if (parresults.count < 20 && self.searchcounter < 20){             self.runsearch(completionhandler) // <-------         } else if (parresults.count >= 20 && self.searchcounter < 20){             self.searchcomplete = true             completionhandler(true)         }     } } 

Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -