微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

block传值 iOS

下面是编程之家 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 举报,一经查实,本站将立刻删除。

相关推荐