block一直晕
/**
3> block访问外面变量
block 内部可以访问外面的变量
默认情况下,block内部不能修饰外面的局部变量
给局部变量加上__block关键字,这个局部变量就可以被block内部修改
4> 利用typedef定义block类型
typedef int (^MyBlock)(int,int)
以后就可以利用Block这个类型来定义block变量
MyBlock block;
MyBlock b1,b2;
b1 = ^(int a, int b){
return a - b;
};
MyBlock b3 = ^(int a,int b){
return a- b;
};
*/
传值
//第二界面
#import <UIKit/UIKit.h>
typedef void(^IsDismiss)(BOOL);
@interface HomePageViewController : UITableViewController
@property (copy, nonatomic) IsDismiss isDismiss;//属性
@end
#pragma mark 退出登录按钮
-(void)quitLogin
{
//不为空了执行
if (self.isDismiss) {
self.isDismiss(YES);
}
[selfdismissViewControllerAnimated:YEScompletion:nil];
}
-(void)viewDidAppear:(BOOL)animated
{
if (self.loginV.automaticB.selected) {
HomePageViewController *homePageVC = [[HomePageViewControlleralloc]init];
//第一界面赋值
homePageVC.isDismiss = ^(BOOL boll)
{
isDissmiss = boll;
};
}
}
block 内部使用到self 需要重新定义
__blockAdvancedInformationViewController *weakSelf =self;
__weak typeof(self) __weakSelf =self;