如何快速使用阻止/关闭

编程入门 行业动态 更新时间:2024-10-11 21:30:37
本文介绍了如何快速使用阻止/关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

在我的一个应用程序中,我使用了block来进行Web服务调用并获得响应.现在,我想快速编写此应用程序,但是在Swift中使用块/关闭功能遇到了麻烦. 这是我想要快速迁移的目标C代码:

In one of my app I have used block for webservice calling and getting response. Now I want to write this app in swift, but I am getting trouble to use blocks/Closure in Swift. Here is my objective C code which I want to migrate in swift:

[[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 }];

在交流者班上

-(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); } }

推荐答案

对于Swift.将AnyObject用作id objc类型.

For Swift. Use AnyObject for id objc type.

func callWebservice (serviceName: String, withMethod method: String, andParams params: NSDictionary, showLoader loader: Bool, completionBlockSuccess aBlock: ((AnyObject) -> Void), andFailureBlock failBlock: ((AnyObject) -> Void)) { if loader { // Show loader } performRequestWithServiceName(serviceName, method: method, andParams: params, success: aBlock, failure: failBlock) } func performRequestWithServiceName(serviceName: String, method methodName: String, andParams params: NSDictionary, success successBlock: ((AnyObject) -> Void), failure failureBlock: ((AnyObject) -> Void)) { if callSuceess { successBlock("Success") }else { successBlock(nil) } }

更新:要调用web service的示例.参见下面的代码

UPDATE: An example when you want call web service. See code below

callWebservice("your-service-name", withMethod: "your-method", andParams: ["your-dic-key": "your dict value"], showLoader: true/*or false*/, completionBlockSuccess: { (success) -> Void in // your successful handle }) { (failure) -> Void in // your failure handle }

更多推荐

如何快速使用阻止/关闭

本文发布于:2023-11-26 02:16:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1632248.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:快速

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!