gpt4 book ai didi

iphone - iPhone 应用程序中的 super /子类和 View

转载 作者:行者123 更新时间:2023-12-03 21:19:05 25 4
gpt4 key购买 nike

我有一个可以提供调查问卷的 iPhone 应用程序。调查问卷由几个问题组成。

我创建了一个 QuestionnaireViewController 类,它根据调查问卷中的问题数量加载多个 QuestionViewController 对象(这是从外部数据源提取的)。

这很好用。

该应用程序现在正在经历进一步的迭代,要求稍微复杂一些。上述原型(prototype)加载具有相同问题 View 的问题(即一种类型的问题)。然而,存在几种类型的问题(基于 slider 、文本输入等)。

所有类型的问题都共享一个属性子集:

问题有标题、id、sectionId 和问题编号

QuestionView 的数据输入方式有所不同。有些需要使用 slider 输入数据,而有些则需要文本输入。

这立即引发了父类(super class)/子类结构:

Question
SliderQuestions
TextInputQuestions
etc

我的问题是:

1) 如何根据某些数据值加载 View 的特定子类?

例如

if ([questionType isEqualToString:@"slider"]) {
//load slider view
} else if ([questionType isEqualToString:@"textInput"]) {
//load text input view
}

我必须为每个类构建一个 View 和 ViewController 吗?我如何建模这个父类(super class)子类结构?

我的困惑在于创建 View 和 View Controller 。显然,我需要一个新 View 来处理问题特定组件,例如向一个 View 添加 slider ,向另一个 View 添加文本输入,但是如何显示共享数据(父类(super class)属性),而不必为每个 View 进行复制?

最佳答案

如果您有很多 UIView,我建议您考虑使用 tag 来标识 UIView。否则,您可以使用

比较字符串

[questionType isEqualToString:@"string"];

虽然后一种方法是更多的描述,但使用标签将允许您设置一个开关,这使得代码更有逻辑性和更紧凑(恕我直言) )。

关于iphone - iPhone 应用程序中的 super /子类和 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6737568/

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