一、创建“答案”按钮 1.之前,创建“答案按钮”,就是当点击“下一题”的时候,获取这个当前题目的答案的文字个数,然后写个循环,有多少个文字,就创建多少个按钮,然后把每个按钮加到那个View里面, 只有以下几个步骤: 1)首先是不是给它创建了一个View吧, 2)然后,当点击“下一题”按钮的时候,首先,获取当前这个题目的答案那个字符串,里面的文字字数,对吧, 3)然后,写个循环,在循环里面创建N多个按钮, 4)然后,把按钮加进View,就OK了, 二、动态生成“待选项”按钮 1.动态生成“待选项”按钮,就是“待选文字”的那个按钮,明白, 那么,所以,动态生成待选项、待选文字按钮,是不是也是在点击“下一题”里面要做的,也是点击“下一题”里面要做的,好,我们还是在点击“下一题”里面,点击“下一题”里面,大家看干了多少事儿,做了这么多事儿啊, 1)让索引++ 2)根据索引获取当前的模型数据 3)把模型数据设置到界面对应的控件上 4)设置到达最后一题以后,禁用“下一题”按钮 5)动态创建“答案”按钮 6)动态创建“待选项”按钮 做了这么多事儿,等会儿这个代码,是不是我们可以把这个“下一题”代码,我们可以把它封装一下吧,不然的话,你看一下,你们的代码是不是很多啊, 一个方法中,写这么多代码,是不是很多,明显不是很合适吧,并且关键是这些代码是可以分模块的, “生成答案”这个,就是一个模块,生成这个“下载数据”这个也是一个模块,“生成待选项”这个又是一个模块, 这些是不是都可以分模块,所以我们等会儿把它可以分模块一下,哎,现在就可以给它分一下,现在给它分一下,怎么分: 这是不是第一步啊,我们现在加载数据是一步, 加载数据是不是用到了这个模型, 来,我们给它写一下啊, 在ViewController.m文件的最下面,@end代码的上方, //加载数据,把模型数据设置到界面的控件上, //注意,这个设置数据,我们是不是要根据模型对象来设置,你们需要用到这个模型对象啊,是不是需要传一个模型对象进来, - (void)settingData:(TestQuestion *)model{ //然后,接下来,把这些拷过来,是不是就OK了 //3.把模型数据设置到界面对应的控件上 self.lblIndex.text = [NSString stringWithFormat:@“%d/%ld” ,(self.index + 1),self.questions.count]; self.lblTitle.text = model.title;