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

需求分析

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循环创建模型数组,将模型数组保存到成员变量数组中。

3.设置状态栏显示

 1 // 设置状态栏高亮显示
 2 - (UIStatusBarStyle)preferredStatusBarStyle{
 3     return UIStatusBarStyleLightContent;
 4 }
 5 // 设置状态栏常规显示
 6 - (UIStatusBarStyle)preferredStatusBarStyle{
 7     return UIStatusBarStyleDefault;
 8 }
 9 // 设置状态栏可见性
10 - (BOOL)prefersStatusBarHidden{
11
12     return YES;
13 }

UIStatusBarStyle是状态栏状态,UIStatusBarStyleLightContent和UIStatusBarStyleDefault是状态栏的两个状态

4.判断两个字符串是否相等不能用“==”,要用isEqualToString:

[options isEqualToString:question.answer] ,判断两个字符处是否相等。

5.重写description方法,跟踪对象数据。

6.将对象移到最前

[self.view bringSubviewToFront:self.pictureView]

7.移除所有子控件

[self.answerView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

8.将控件设为隐藏状态

option.hidden = YES;

9.取出控件的title

NSString *temp = [btn titleForState:UIControlStateNormal];

时间: 2024-07-29 00:31:56

疯狂猜图需求分析及知识点的相关文章

HTML5 canvas绘制雪花飘落动画(需求分析、知识点、程序编写分布详解)

看到网上很多展示html5雪花飞动的效果,确实非常引人入胜,我相信大家也跟我一样看着心动的同时,也很好奇,想研究下代码如何实现:虽然哦很多地方也能下载这些源码,不过也不知道别人制作此类动画时的思路及难点分析. 我这几天刚好学习了一下,也趁着此刻有时间从需求分析.知识点.程序编写一步步给大家解剖下,要是在各位关公面前耍大刀了,可别见笑哟. 最终效果图如下: 图1 一.需求分析 1.圆形雪花 本示例中雪花形状使用圆形 2.雪花数量固定 根据图1仔细观察白色雪花数量,飘落过程中,整张图的雪花数量应该是

全程软件测试之测试需求分析与计划

全程软件测试之测试需求分析与计划 在项目启动之后,就要着手软件项目的计划,包括软件测试计划.软件测试计划是整个开发计划的组成部分,同时,它又依赖于软件组织过程.项目的总体计划.质量文化和方针.在测试计划活动中,首先要确认测试目标.范围和需求,其中"测试需求分析"是关键任务,然后在测试需求基础上制定测试策略,并对测试任务.时间.资源.成本和风险等进行估算或评估. 无论何时进行估算,我们都是在预测未来,并会接受某种程度的不确定性.软件项目计划的目标是提供一个框架,不断收集信息,对不确定性进

《团队-科学计算器-需求分析》

需求分析: 所运用知识点: 字符串的处理 正则表达式的运用 函数递归 项目步骤: 用正则表达式处理字符串,只提取其中的数字和运算符,并转换成列表. 利用函数处理算数的基本操作运算(没有括号). 再写函数处理带括号之间的运算,得先算最里边的括号运算,然后保留结果,在计算外一层的括号计算,最后将其结果进行综合(运用递归函数).

项目管理师备考知识点精讲之信息系统开发基础考情分析

信息系统项目管理师考试是计算机软件水平考试中的一个高级资格考试,是软考中的大热门.信息系统项目管理师证书含金量高,可以评高级职称,是申请高级项目经理的必要条件,还可以挂靠.下面希赛软考学院为您带来信息系统项目管理师备考知识点集锦之信息系统开发基础考情分析,专业老师根据历年真题分析总结的重点内容,让您备考期间少走弯路,高效学习,顺利通过考试.  信息系统开发基础考情分析 根据对历年的考试真题进行分析,本章要求考生掌握以下几个方面的知识: (1)信息与信息系统:信息系统的概念.信息系统的功能.信息系

2017上半年软考 第一章 重要知识点

第一章 信息化的知识,具体讲了:重要的知识点是: 融合,信息技术和工业制造深度融合.人和机器的融合.信息资源和材料资源的融合 :信息论奠基者:香农: 信息的传输技术是信息技术的核心: 恰当的冗余编码可以在信息收到噪声侵扰时被恢复: 信息系统的基本规律应包括信息的度量.信源特性饿信源编码.信道特性和新到编码.检测理论.估计理论以及密码学: 信息系统特性:目的性.可嵌套行性.稳定性.开放性.脆弱性.健壮性: 信息系统生命周期:立项[规划].开发[分析.设计.实施].运维.消亡: 信息化层次:产品信息

2017上半年软考 第二章 重要知识点

第二章 讲了信息系统集成,系统集成资质,itsm,itss,重点的知识点是:信息系统集成存在问题:系统质量不能满足应用基本要求.工程进度拖后延期.资金使用不合理超预算.项目文档不全.项目实施过程中系统业务需求一变再变.项目实施过程经常出现扯皮推诿.系统存在安全漏洞.重硬件轻软件.重开发轻维护.缺乏规范的流程和能力管理.存在产品化与个性化需求的矛盾.开放性高标准和规范更新快: 具体问题主要有五点:不具备技术实力的系统集成商.一些建设单位在选择项目承建商和尽兴业务需求分析经验不足.企业自身建设有代加

17--(软考)信息系统管理师--知识点(1) --OneStar

★一星级知识点★ 1.       国家信息化体系六要素是什么?谁是关键?谁是核心?谁是基础?谁是保障? 国家信息化体系包括信息技术应用.信息资源.信息网络.信息技术和产业.信息化人才.信息化法规政策和标准规范个各要素. 信息技术应用是国家信息化建设的主阵地,是信息化体系六要素中的龙头. 信息资源.材料资源和能源共同构成国民经济和社会发展的三大战略资源.也是我国信息化的薄弱环节.信息资源的开发利用程度是衡量国家信息化水平的一个重要标志. 信息网络是信息资源开发利用和信息技术应用的基础.信息网络又

18--(软考)信息系统管理师--知识点(2)-OneStar

★一星级知识点★ 1.81.   总价合同的适用条件是什么? 总价合同适用于工程量不太大且能精确计算.工期较短.技术不复杂.风险不大的项目,同时发包人必须准备详细全面的设计图纸和各项说明,是承包人能准确计算工程量. 82.   针对合同不明确情况,即合同法第62条,如何处理? <合同法>第61条明确规定,对于合同不明确的情况,应对先协商,达成补充协议.达不成补充协议的,依照合同其他条款或交易习惯确定.如果依此还不能明确有关条款的含义,那就要用<合同法>第62条来解决. 1)当事人对

从零开始编写自己的C#框架(7)——需求分析

原文:从零开始编写自己的C#框架(7)--需求分析 本章内容虽然叫"需求分析",实际上关于具体的需求分析操作步骤并没有深入去写,因为细化的话那将是一本厚厚的书,而需求分析在本系列中,是帮助大家了解项目的基本要求(主要针对本项目而已).而写本章的主要目的想告诉初学者们一些常识与重要性,顺便写一写本项目的开发需求与需求文档格式,而不是具体的需求分析步骤.由于个人水平有限,文笔也并不怎么样,为了加快进度早点进入编码阶段所以写得有点水,大家先将就将就吧. 慢工出细活,磨刀不误砍材工.计划将要做