gpt4 book ai didi

ios - 允许用户创建表单的应用程序

转载 作者:行者123 更新时间:2023-11-30 13:51:53 25 4
gpt4 key购买 nike

我正在创建注册表单应用程序。该应用程序的用户将能够添加和删除问题。

所以基本上我有一个名为 questions 的类,“修改”问题的方法将在它下面。现在我正在研究向表单添加问题的方法。

问题将包括:

  • UILabel(你叫什么名字?)
  • UITextFieldUISegmentedControl(用于多项选择题)

我对 Swift 很陌生,但我仍然将其视为面向对象编程的初学者。现在我正在尝试设计 Questions 类布局,它应该看起来像这样吗?

class Question {
var label: UILabel
var multiChoice: UISegmentedControl
var textInput: UITextField

init(label: UILabel, multiChoice: UISegmentedControl, textInput: UITextField) {
self.label = label
self.multiChoice = multiChoice
self.textInput = textInput
}

// methods for adding question
}

很明显,问题的组成将取决于用户采取的操作(按下的按钮)。当用户选择添加新问题时,他们将输入标签,并决定是否要使用分段控件或文本字段。

这就是我的问题出现的地方。用户决定参数后,我添加问题的方法应该创建一个问题的新实例,并将返回该实例。然后,应将问题的这个新实例添加到存储所有创建的问题的数组中。该数组是在操作中初始化(按添加问题按钮)还是应该全局初始化,以便我添加的所有 future 方法都可以访问它。

最佳答案

全局变量越少越好。

鉴于上面的类,我希望您创建 Question 的方法将是某个 UIViewController 子类的方法,并且包含所有问题的数组应该是同一 View Controller 子类的属性 -类(class)。

创建问题的方法必须将标签、segmentedControl 和 textInputs 添加到某些 UIView(可能是 View Controller 的主视图),以便它们可见。

另一个快速说明...如果问题可以是文本输入多项选择,但不能同时是两者,那么这个类中不应同时包含两个字段。您将需要两个 Question 子类(也许是 FillInQuestionMultiChoiceQuestion),可能都派生自 Question 基类类。

关于ios - 允许用户创建表单的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34161959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com