iOS Swift3测验应用程序 - 我应该创建多少视图来处理5-10种选项



这是我为女儿学习开发的第一个应用程序,他在幼儿园,也是我在Stack Overflow中的第一个问题。请原谅我是否有任何格式发行或与论坛无关。

要求:

  1. 我想要一个带有下拉(或popuplist)的主页(主页视图)A。添加b。减法C。拼写等

和底部的"启动测试"按钮

  1. 基于下拉列表选项,我想显示问题(每类约10个问题) - "测试视图"

它由3个部分组成A。示例(如何回答问题)b。问题C。答案区域(可以是基于主页中的问题类别的文本字段或广播按钮。

  1. 结果视图 - 完成10个问题后,它将结果屏幕上的屏幕说:"恭喜!您的测试完成"(类似)。从那里

这是我到目前为止所做的

  1. 首先,我决定使用Swift3创建iOS应用,然后创建了几个PNG文件(出于疑问),并将其保存在资产文件夹中以供我使用。
  2. 我创建了3个视图和3个视图控制器(家庭视图,测试视图和结果视图)
  3. 每个视图都有自己的单独的viewController.swift文件分配
  4. 我将问题存储在3个文件夹中(加法,扣除等,用1.png,2.png,3.png等)
  5. 在我将示例图像放置在"测试"视图上的添加时,能够成功测试该应用程序的添加。对于添加,我能够在问题数组中保存问题和答案阵列中的答案,并能够完成10个问题的测试,并能够转到结果页面并显示结果。但是,在将此解决方案扩展到更多问题类别(例如减法,拼写等)时,我被困在。

现在我的问题是

  1. 如果我想处理减法和拼写,我是否应该为减法创建另一种视图和拼写视图吗?还是有任何动态方法来加载基于用户下拉的选择中的"测试"视图?

  2. 在Swift中是否有任何属性文件类型的概念,我可以在下拉列表中存储该值的种类,并且基于该"测试"视图,将通过示例问题和答案区域动态加载(注::答案区域可以是基于问题类别的输入文本字段或广播按钮)

  3. 我当前的想法是在添加新的问题类别时继续添加新的视图和新的视图控制器,但是我觉得这种方法并不简单且强大,因为我每次添加我需要添加/修改代码新类别。我正在尝试找到一种简单且可靠的方法来处理此用例。

任何想法都将不胜感激。

问题1:您应仅对所有类型的问题使用一个ViewController,并通过代码与问题创建视图。为此,您必须将图像添加到视图中。使用枚举列表,您可以识别应问哪些问题:

enum questionType {
    case addition
    case subtraction
    case spelling
}

在TestViewController中您有

var type : questionType

然后,如果您实例化了testViewController,则可以设置 type ,并且当视图加载时,可以相应地显示您的问题。您也可以稍后检查此VAR以处理以下过程。

问题2:我不确定我是否正确理解了这个问题。但是我认为您正在寻找一些下拉列表的技术吗?然后,您可以检查 uipickerview 类。在这里,您可以添加您的项目并选择其中之一。您应该找到一些教程来在您的应用中实现此功能。

问题3:您是对的,为每种类型创建新的视图控制器并不是一个非常简单的解决方案,会迟早您混淆您。而且,由于每个系统的系统是相同的,因此最好将代码放在一个地方,因此您只需要一次工作而不是3次或更多次,然后添加代码来处理新类型的问题。

我希望我可以帮助您:)

最新更新