代理方法的实现:
首先用的设计模式是MVC模式,比如说要让view中按钮的点击方法在controller中实现,可以再view中添加一个代理,如下:
例如ACell中图片点击:
首先在.h中写一个代理协议
@protocol clickPhotoDelegate<NSObject>
-(void)photoClick;
@end
@interface ACell : UITableViewCell
@property(nonatomic,assign)id<clickPhotoDelegate>delegate;
@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];
今天主要简单介绍了页面的传值方式,希望对大家有所帮助。
网友评论