ios利用block实现回调示例

举报
风吹稻花香 发表于 2021/06/05 01:42:22 2021/06/05
【摘要】 利用block完成回调,小demo一个。闲话少说,直接上代码了!O(∩_∩)O~ TestObject.h [objc] view plain copy #import <Foundation/Foundation.h>    typedef void (...

利用block完成回调,小demo一个。闲话少说,直接上代码了!O(∩_∩)O~

TestObject.h

  1. #import <Foundation/Foundation.h>  
  2.   
  3. typedef void (^FinishBlock)(NSString *backStr);  
  4.   
  5. @interface TestObject : NSObject  
  6.   
  7. //能进行回调的方法  
  8. - (void)playSomeTime:(FinishBlock)block;  
  9.   
  10. @end  

TestObject.m

  1. #import "TestObject.h"  
  2.   
  3. @implementation TestObject  
  4.   
  5. - (void)playSomeTime:(FinishBlock)block{  
  6.       
  7.     for (int i = 0; i< 5000; i++) {  
  8.         NSLog(@"i===%d",i);  
  9.     }  
  10.     block(@"被回调的字符串O(∩_∩)O~");  
  11. }  
  12.   
  13. @end  

ViewController.h

  1. #import <UIKit/UIKit.h>  
  2.   
  3. @interface ViewController : UIViewController  
  4.   
  5. @end  

ViewController.m

  1. #import "ViewController.h"  
  2. #import "TestObject.h"  
  3.   
  4. @interface ViewController ()  
  5.   
  6. @end  
  7.   
  8. @implementation ViewController  
  9.   
  10. - (void)viewDidLoad  
  11. {  
  12.     [super viewDidLoad];  
  13.     TestObject *obj = [[TestObject alloc] init];  
  14.     [obj playSomeTime:^(NSString *backStr){  
  15.         NSLog(@"回调完成,被返回的结果===%@",backStr);  
  16.     }];  
  17.     NSLog(@"这是同步操作,需要等待回调完成");  
  18. }  
  19.   
  20. - (void)didReceiveMemoryWarning  
  21. {  
  22.     [super didReceiveMemoryWarning];  
  23. }  
  24.   
  25. @end 

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/56292426

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。