题目是这样的:做一个组装电脑的小程序,类似于中关村攒机那样的。
需要实现的功能:1、主目录包括:cpu、主板、内存、硬盘、显卡、机箱、DISK 显示主目录,效果可以如图一
2、每个部件下面有多个产品可供选择,显示这些产品。如图二
3、每个部件选择完成以后回到步骤1,并把选择的产品信息同步到步骤1中,如图三
4、整个产品完成选择以后效果如图四,选过的部件可以重新选择,用户输入不存在的选项会提示并要 求重新输入。如图五
图一
图二
图三
图四
图五
看完题目有思路了吗?可以自己先动手试一下!我在下面简短写了一下我的思路。你们可以看看(最好先看我的代码)。
下面标记为紫色字体的都是OC中的知识点,可以注意下!!
好了,大概知道要求以后我们就动手吧!写程序就如同帮人脱衣服,我们要一层一层的来,最后我们就可以看到我们想要看到的结果了!
首先,我们从分析要求下手。这个程序首先需要的市一个展示信息给用户看,并且用户可以做出选择。那么。我们先新建一个类,然后由这个类为我们提供需要的方法。
(步骤1、新建一个类DevicesClass,类中添加一个对象方法 - (void)dispalyDevices)
我们已经找到入口了,那么接下来的事便只要按部就班即可。对象方法里,我们首先需要打印一边信息告诉用户我们有哪些产品可以选择。
(步骤2、打印部件信息,这里我们可以先将部件名存入数组,用循环调用数组实现打印,当然我们需要初始化这个数组)
用户看到了可以选择的信息,他们需要选择,所以我们要给他们提供选择框,选择完成之后,我们根据用户的选择在网上下载相应产品的数据,(这里我们把数据源的网址存入一个数组中,根据用户输入的数字作为数组下标调用数据源网址)
(步骤3、我们通过某种方法传入用户选择的数据源网址,下载相应的数据并存储到一个数组中)
实现步骤3的前提,我们需要一个方法可以通过网址获得数据,这里我们创建一个类,对象方法。并通过对象方法实现。
(步骤3.1,创建下载并解析数据的类,对象方法 DownloadDataClass)
对于步骤3.1中获得的数据,我们需要一个模型来接受这些数据。所以创建一个模型。模型的实现大家应该都知道。不知道的就回去看看书,这个很重要。
(步骤3.1.1、创建模型 DataModel,模型包含三个属性)
到了这一步,我们已经成功一半了。获得数据以后,我们将选择获得的数据存入一个可变字典中(记得初始化),便于后面使用,我们打印出用户选择的部件中所有可供选择的产品(注意,部件跟部件产品者两个概念。部件一类产品,如Cpu,部件产品是这类产品中的某一个型号,如:【型号:Intel 赛扬 G1820(盒)】【¥230】)
(步骤4、打印可供选择的所有产品的数据)
让用户选择产品,并将用户选择的序号存入一个数组,(为什么是将序号存入数组而不是直接把对应的产品信息存入呢?我们的产品信息包含三个部分:name、price、mark,而很多时候我们不方便调用其中某一个,所以我们将选择的数据存入数组,之后可以调用这个存入的数字去寻找对应的产品,然后将得到的数组,(注意这里将得到数组,)转换成模型,然后调用这三个属性中的某一个)
(步骤5、存储选择的信息)
最后的最后,我们使用递归的思想,调用这个方法本身,实现循环。那么就大功告成了!