#import <UIKit/UIKit.h>
//無(wú)參數(shù)
typedef void(^NoReferenceBlock)();
//一個(gè)參數(shù)
typedef void(^oneReferenceBlock)(NSString *str);
//多個(gè)參數(shù)
typedef void(^moreReferenceBlock)(NSString *str,NSString *str1);
@interface SecondViewController : UIViewController
@property (nonatomic, copy) NoReferenceBlock noReferenceBlock;
@property (nonatomic, copy) oneReferenceBlock oneReferenceBlock;
@property (nonatomic, copy) moreReferenceBlock moreReferenceBlock;
- (void)noReferenceBlock:(NoReferenceBlock)block;
- (void)oneReferenceBlock:(oneReferenceBlock)block;
- (void)moreReferenceBlock:(moreReferenceBlock)block;
+ (SecondViewController *)secondVC;
@end
#import "SecondViewController.h"
@interface SecondViewController ()
@end
@implementation SecondViewController
+ (SecondViewController *)secondVC{
SecondViewController *vc = [[SecondViewController alloc]initWithNibName:@"SecondViewController" bundle:nil];
return vc;
}
- (void)noReferenceBlock:(NoReferenceBlock)block{
self.noReferenceBlock = block;
}
- (void)oneReferenceBlock:(oneReferenceBlock)block{
self.oneReferenceBlock = block;
}
- (void)moreReferenceBlock:(moreReferenceBlock)block{
self.moreReferenceBlock = block;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (IBAction)noone:(UIButton *)sender {
if (self.noReferenceBlock != nil) {
self.noReferenceBlock();
}
[self.navigationController popViewControllerAnimated:YES];
}
- (IBAction)one:(UIButton *)sender {
if (self.oneReferenceBlock != nil) {
self.oneReferenceBlock(@"一個(gè)參數(shù)");
}
[self.navigationController popViewControllerAnimated:YES];
}
- (IBAction)two:(UIButton *)sender {
if (self.moreReferenceBlock != nil) {
self.moreReferenceBlock(@"參數(shù)1", @"參數(shù)2");
}
[self.navigationController popViewControllerAnimated:YES];
}
#import "ViewController.h"
#import "SecondViewController.h"
SecondViewController *vc = [SecondViewController secondVC];
vc.noReferenceBlock = ^{
NSLog(@"沒(méi)有參數(shù)");
};
vc.oneReferenceBlock = ^(NSString *str) {
NSLog(@"%@",str);
};
vc.moreReferenceBlock = ^(NSString *str, NSString *str1) {
NSLog(@"%@ %@",str,str1);
};
[self.navigationController pushViewController:vc animated:YES];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者