下面是编程之家 jb51.cc 通过网络收集整理的代码片段。
编程之家小编现在分享给大家,也给大家做个参考。
/* 用typedef 定义 block 类型 在 委托/主动方 定义block变量 调用 block 把block 代码块 作为代理 写在 被动方 */ //.h文件里面 第二个页面 #import <UIKit/UIKit.h> /*typedef定义block int返回参数类型 ChangeStatus block函数名 status传过去的参数名 Nsstring* status的类型*/ typedef int (^ChangeStatus) (Nsstring* status); @interface SecondViewController : UIViewController //这里要用copy 定义block 对象名 @property (nonatomic,copy) ChangeStatus changeStatus; @end //.m文件 #import "SecondViewController.h" @interface SecondViewController () @end @implementation SecondViewController - (void)viewDidLoad { if (self.changeStatus) {//判断一下 /*回调 外界传入的 block han 传过去的参数 ak 返回来的参数*/ Nsstring* han = @"123"; int ak = self.changeStatus(han); NSLog(@"%d",ak); }else{ NSLog(@"没有传入block"); } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // dispose of any resources that can be recreated. } //第一个页面.m文件 - (void)viewDidLoad { _svc = [[SecondViewController alloc] init]; /* Nsstring* status block传过去的字符串 return 3; 返回过去的参数 {}里面的status是回调回来的参数 */ _svc.changeStatus = ^(Nsstring* status){ NSLog(@"%@",status); return 3; }; } @end
以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。