ios 简单介绍常用的2种页面传值方式(代理和block)

代理方法的实现:

首先用的设计模式是MVC模式,比如说要让view中按钮的点击方法在controller中实现,可以再view中添加一个代理,如下:

例如ACell中图片点击:

首先在.h中写一个代理协议

@protocol clickPhotoDelegate

-(void)photoClick;

@end

@interface ACell : UITableViewCell

@property(nonatomic,assign)iddelegate;

@end

然后在.m中对应的点击方法中:

[_delegate photoClick];

最后在BController中去实现这个代理clickPhotoDelegate

主要要设置代理:ACell.delegate =self;

然后实现这个代理

#pragma mark - 图片点击的代理

-(void)photoClick{};

block回调方法的实现:

场景介绍 A——>B页面,点击B页面的按钮把相应的值传入到A页面(例如A页面需要B页面的名称和ID)

首先在B页面.h中定义一个block

typedef void(^JumpBlock)(NSString *name,NSString *uuid);

@interface A : UIViewController

@property (nonatomic , copy) JumpBlock back ;

@end

然后在A页面push过去的时候

B * ss = [[B alloc]init];

ss.back = ^(NSString *name,NSString *uuid) {

//B页面的值传过来然后是具体的操作

};

[self.navigationController pushViewController:ss animated:YES];

今天主要简单介绍了页面的传值方式,希望对大家有所帮助。


你可能感兴趣的:(ios 简单介绍常用的2种页面传值方式(代理和block))