In una delle mie app ho utilizzato il blocco per le chiamate al servizio web e ottenere risposta. Ora voglio scrivere questa app in modo rapido, ma sto riscontrando problemi nell'usare i blocchi/Chiusura in Swift. Ecco il mio codice C obiettivo che voglio migrare a Swift: -come utilizzare blocco/chiusura in swift
// chiamando un metodo di classe di Communicator
[[Communicator sharedInstance]callWebService:WS_LOGIN withMethod:POST_METHOD andParams:params showLoader:YES completionBlockSuccess:^(id obj) {
//Do play with data
}completionBlockFailiure:^(id obj) {
//Show alert with error
}];
// in classe comunicatore
-(void)callWebService:(NSString *)serviceName withMethod:(NSString *)methodName andParams:(NSDictionary *)params showLoader:(BOOL)showLoader completionBlockSuccess:(void (^)(id))aBlock completionBlockFailiure:(void (^)(id))aFailBlock
{
if (showLoader) {
// show loader
}
[self performRequestWithServiceName:serviceName method:methodName andParams:params successblock:aBlock failureblock:aFailBlock];
}
- (void)performRequestWithServiceName:(NSString *)serviceName method:(NSString*)methodName andParams:(NSDictionary*)params
successblock:(void (^)(id obj))successBlock
failureblock:(void (^)(id obj))failBlock {
if(callSuceess){
successBlock(@"Success");
}else{
successBlock(nil);
}
}
Può uno aiutami ?
Qualsiasi aiuto su questo sarà apprezzato.
Grazie in anticipo.
Grande +1 Per la risposta completa –
@ Ashish Kakkad. Grazie –
@longpham puoi aiutarmi a chiamare callWebservice dal mio viewcontroller? Sto riscontrando problemi nell'impostazione dei parametri con la chiusura in rapido. Grazie in anticipo. –