如何在iOS多项选择测验应用程序中实现200个文本/图像问题

时间:2018-07-03 21:05:42

标签: ios database xcode

我必须编写这个多选应用程序,每个问题将有大约3-6个答案。

在某些情况下,我不想使用基于文本的问题,而是想要实现一个图像(例如,遗传学:DNA字符串的图形,DNA字符串的不同部分带有数字),在该图像中,必须指定图像的不同部分物体。我想这可以通过显示在图形本身上的每个数字旁边的下拉菜单来完成,在图像的各个部分的应用程序(1,2,3,4,...)下方。

(视图控制器的顶部) -DNA字符串的图像,在DNA的不同部分带有数字/字母-

(视图控制器的底部)

1(包含可能的答案的下拉菜单)

2(带有可能答案的下拉菜单)

3(带有可能答案的下拉菜单)

4(带有可能答案的下拉菜单)

其余的问题将是简单的文本问题,大约有3-6个可能的答案(从简短的对/错答案到预定义的长句子答案;用户不手动输入任何文本),具体取决于每个问题。

现在,我的应用程序将问题存储在两个不同的数组中:一个包含问题;另一个包含问题。另一个具有3-6个可能的答案,而位置0的答案始终是答案。使用arc4random_uniform()来决定将正确答案放置在何处以便被随机化。

这是两个数组的样子: 问题= [“ 2 + 3是什么?”,“ 5 + 5是什么?”] 答案= [[5,32,61,11],[10,29,1,4,4,6]]

如果可能的话,我想继续使用这种方法,因为这种方法似乎很容易理解。但是,我不认为数组能够在用户任务旁边显示图像(用户任务-诸如“命名DNA字符串的不同部分”之类的简短名称,以代替基于文本的问题本身。)

现在我的主要问题是:  将这200个问题(当前在.numbers / excel文件中)实施到应用程序中,最省时又有效的方法是什么,因为我根本没有太多时间来展示应用程序?顺便说一句,我正在使用xCode,并且很长一段时间都没有编程任何东西,而且从未真正热衷于编程。

因此我应该使用哪种方法?哪种类型的数据库(?)以及在这种情况下如何正确使用它们?

我真的很期待答案! :) 谢谢! 凯文

PS:我还想实现一项功能,即如果可能的话,使用您选择的数据库/方法,正确回答问题的频率会降低。

1 个答案:

答案 0 :(得分:0)

我认为您应该尝试使用Realm数据库存储所有数据。

此示例应用程序可以帮助您了解编码方法。
https://github.com/realm/my-first-realm-app

以下是较为复杂的应用程序,但值得一看。
https://github.com/realm/EventKit

您也可以使用此浏览器浏览领域数据库,以确保数据一致性。
https://github.com/realm/realm-browser-osx

Sor Answer对象可以具有可选的字符串和可选的图像。 这样,您可以显示文本或图像,或同时显示两者。
代码如下所示:

class Answer {
  var answerid:Int
  var answer: String?
  var answerImage: UIImage? 
}

对于已经出现的问题,您可以保留在另一个列表中,这样就可以完全不显示它们,或者减少显示频率。
希望这可以帮助。