前言
代理和block是iOS开发中最常用的传值方式,具体的基本用法网上非常多,我就不一一讲解了,结合项目中最近遇到的一个小问题,做些个简单的笔记,供大家借鉴。最近忙于锻炼,疏于学习,要敲打下自己。言归正传,说问题。
项目中有一个做题模块,其中有答题卡的提交环节,答题卡是个完全独立的模块,我注重说下,答题卡提交的相关回调处理。这里只提供主要参考代码,其他细节请自行补充。
基本需求
点击答题卡的提交按钮,内部判断是否为需要全部做完才能提交, 是:检测是否全部做完,是:提交试卷。
可以通过代理或block 实现。
代理调用:
- (void)yg_submitFromAnswerSheetView
{
if (_answerSheetItem.ygSubmitNeedAllAnswer && [_answerSheetView yg_isHasEmptyAnswer]) {
[Util showToastWithTitle:@"你还有题没有做完哦!" inView:[[UIApplication sharedApplication] keyWindow]];
} else {
[self dismissAnswerSheetVC];
if ([self.delegate respondsToSelector:@selector(yg_submitFromAnswerSheet)]) {
[self.delegate yg_submitFromAnswerSheet];
}
}
}
代理实现:
- (void)yg_submitFromAnswerSheetVC
{
[self yg_uniSubmitPaper:YES];
}
升级需求
点击答题卡的提交按钮,外部调用优先判断时间是否大于30分钟