block 的反向传值,一直以来都是copy, 今天写出来用来加深印象, 也给一些懒哥们copy的方便些。不多说,直接上代码。
#import <UIKit/UIKit.h>
//第一步(第二个页面.h)
typedef void (^secondVcBlock)(NSString*);
@interface SecondViewController : UIViewController
//第二步(第二个页面.h)声明一个属性
@property(nonatomic,copy)secondVcBlock clickStrBlock;
@end
- (IBAction)return:(id)sender {
//第三步(第二个页面的.m)
self.clickStrBlock(@"good");
[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)next
{
SecondViewController *sec = [[SecondViewController alloc] init];
//第四步(第一个页面的push或者present的位置)
sec.clickStrBlock = ^(NSString *str)
{
NSLog(@"做点什么呢%@",str);
};
[self presentViewController:sec animated:YES completion:nil];
}