1、用可变数组来判断,当某个方法执行完毕时,改变数组中对应的值;
2、也可以用可变字典来判断,一个方法对应一个key。
一、
//声明数组
@property (nonatomic ,strong) NSMutableArray *flagArray;
二、
//改变标记数组
[self.flagArray replaceObjectAtIndex:1 withObject:@"1"];
三、在可能要执行方法的地方调用
[self judgeExecuteSelector:@selector(loadFirstGuide)];
#pragma mark 初始化,并赋值
//标记是否有数据、view是否加载完
-(NSMutableArray *)flagArray{
if (!_flagArray) {
_flagArray = [NSMutableArray array];
//添加元素
[_flagArray addObject:@"0"];
[_flagArray addObject:@"0"];
}
return _flagArray;
}
#pragma mark 封装-判断是否可以执行
//flagArray数组中每个元素都为1,才能执行loadFirstGuide方法
- (void)judgeExecuteSelector:(SEL)theSel{
//flagArray数组中每个元素都为1,才能执行loadFirstGuide方法
for (int i = 0; i < self.flagArray.count; i++) {
if ([self.flagArray[i] integerValue] > 0) {
if (i == self.flagArray.count - 1) {
if ([self canPerformAction:theSel withSender:nil]) {
NSLog(@"performSelector.loadFirstGuide");
[self performSelector:theSel];//加载半透明引导页
}
}
} else {
break;
}
}
}