创建协议
一.
@protocol SecondViewControllerDelegate <NSObject>
-(void)secondViewControllerDidDit:(NSString *)name;
@end
二.@property(nonatomic,weak)id<SecondViewControllerDelegate> delegate;
三.
-(void)secondViewControllerDidDit:(NSString *)name{
if ([self.delegaterespondsToSelector:@selector(secondViewControllerDidDit:)]) {
[self.delegatesecondViewControllerDidDit:@"你好"];
}
}
四.
遵守协议,设置代理,实现方法
遵守协议
@interface ViewController ()<SecondViewControllerDelegate>
设置代理
second.delegate =self;
实现方法
-(void)secondViewControllerDidDit:(NSString *)name{
NSLog(@"secondViewControllerDidDit--%@",name);
}
=========================block的使用=========================
1.第二个页面声明block
//<1>声明block
typedef void(^myBlock)(NSString *name);
//<2>声明一个block属性
@property (nonatomic,copy) myBlock block;
//<3>调用block、传值
self.block(@"123");
//实现
NextViewController *next = [[NextViewControlleralloc] init];
//<4>实现block
//a:NSString *name 代表传过来的值
next.block = ^(NSString *name){
//<5>实现
NSLog(@"%@",name);
self.view.backgroundColor = [UIColorcyanColor];
};