疯狂猜图需求分析及知识点

发表于:2015-1-08 11:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:姜糖水    来源:51Testing软件测试网采编

分享:
  需求分析
  1>界面可变元素
  1.有个索引,图片以及描述,随着下一题按钮的点击自动跳转到下一项。
  2.点击放大按钮或者图片可以将图片进行放大,且图片放大后,有一层半透明的遮罩显示在放大后的图片后,遮罩盖住后边的所有元素。点击遮罩及图片可以将图片及遮罩还原。
  3.每次点击下一题按钮,下方的答案框数量跟随改变且候选答案文字也随之改变。
  4.点击下方候选答案按钮,此按钮隐身,同时文字显示在上方答案按钮上。
  5.点击答案按钮,文字小时,下方对应的备选答案按钮显示。
  6.自动判断答案是否填满,填满后检测是否正确。正确显示蓝色,并自动跳往下一题,加分;错误显示蓝色。答案不满时变回黑色。
  7.点击提示按钮,点击正确答案的第一个文字,扣分。
  2> 新增知识点
  1.KVC键值对编码
  1 - (instancetype) initWithDict:(NSDictionary *)Dict{
  2     //** 对模型进行赋值 */
  3     if (self = [super init]) {
  4         [self setValuesForKeysWithDictionary:Dict];
  5     }
  6     return self;
  7 }
  其中setValuesForKeysWithDictionary:方法可以批量将字典中的元素赋值到对应名称的self成员变量中,字典中有几个键值对,就可以有几个与key相同的成员变量,要求字典键值名称必须与模型成员名称相同,便可自动复制。字典中的键值对可不全部显示出来。
  KVC还可以查找路径
  1 NSArray *array = [ persons valueForKeyPath: @“name”] KVC按照路径取值时,如果对象不包含指定对象时,会自动进入对象内部,查找对象属性。
  2.懒加载固定格式
  #pragma mark 懒加载
1 - (NSArray *)questions
2 {
3     if (_questions == nil) {
4         // 1.加载plist
5         NSArray *tempArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"questions" ofType:@"plist"]];
6
7         // 2.创建模型数组
8         NSMutableArray *arrayM = [NSMutableArray array];
9         for (NSDictionary *dict in tempArray) {
10             [arrayM addObject:[HZHquestions questionWithDict:dict]];
11         }
12     _questions = arrayM;
13     }
14     return _questions;
15 }
  先判断为空,然后加载plist文件,使用for循环创建模型数组,将模型数组保存到成员变量数组中。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号