ios - How to wait and get the proper result in caller class from a block function of second class -


i having difficulty result block function second class.

the below function returns boolean value first class.

    - (bool)loadaccountwithusername:(nsstring *)username                        password:(nsstring *)password                        hostname:(nsstring *)hostname                     oauth2token:(nsstring *)oauth2token {     __block _bool bloadedsuccess = false;      self.imapsession = [[mcoimapsession alloc] init];     self.imapsession.hostname = hostname;     self.imapsession.port = 993;     self.imapsession.username = username;     self.imapsession.password = password;     if (oauth2token != nil) {         self.imapsession.oauth2token = oauth2token;         self.imapsession.authtype = mcoauthtypexoauth2;     }     self.imapsession.connectiontype = mcoconnectiontypetls;     masterviewcontroller * __weak weakself = self;     self.imapsession.connectionlogger = ^(void * connectionid, mcoconnectionlogtype type, nsdata * data) {         @synchronized(weakself) {             if (type != mcoconnectionlogtypesentprivate) {              }         }     };      // reset inbox     self.messages = nil;     self.totalnumberofinboxmessages = -1;     self.isloading = no;     self.messagepreviews = [nsmutabledictionary dictionary];     [self.tableview reloaddata];      nslog(@"checking account");     self.imapcheckop = [self.imapsession checkaccountoperation];     [self.imapcheckop start:^(nserror *error) {         masterviewcontroller *strongself = weakself;         nslog(@"finished checking account.");          if (error == nil) {             [strongself loadlastnmessages:number_of_messages_to_load];             bloadedsuccess = true;         } else {             nslog(@"error loading account: %@", error);         }          strongself.imapcheckop = nil;     }];      return bloadedsuccess; } 

i want call function 2nd class , result.

masterviewcontroller = [[masterviewcontroller alloc] initwithnibname:nil bundle:nil]; bool loadsuccess = [masterviewcontroller loadaccountwithusername:username password:password hostname:hostname oauth2token:nil]; 

the issue is, getting result false in 2nd class loadsuccess, since loadaccountwithusername gets result in block function after few minutes. time, 2nd class gets returned false value instead of true

how can caller class wait , proper result block function class?

kindly advise.


Comments

Popular posts from this blog

apache - PHP Soap issue while content length is larger -

asynchronous - Python asyncio task got bad yield -

javascript - Complete OpenIDConnect auth when requesting via Ajax -