gpt4 book ai didi

ios - 将 UIViews 或结构数组传递给 UIViewController

转载 作者:行者123 更新时间:2023-12-01 16:05:11 26 4
gpt4 key购买 nike

为了实现 MVC 的 promise ,我有一个关于是否创建结构的问题。
现在,一组自定义 UIViews 被传递给一个 ViewController 来安排它们。
自定义 UIView 看起来像这样

class TopView: UIView {
private var text: String
private var question: String
private var explanation: String

required init(text: string,...) {
self.text = text
...
}
....
}
然后这些 UIViews 作为一个数组传递给一个 View Controller ,里面的一个函数将安排它们。因此,大量的 UIViews 数组是这样存储的
let derivative: [UIView] = [TopView(text: "", ....),
MainBodyView(text:"",...),
BottomView(text:"",...)
]
因此,为了拥有清晰且良好的代码结构,我想知道是否最好创建包含所有这些信息的结构以及在 ViewController 中提取信息并将它们放入 View 中的函数。或者有更好的方法吗?

最佳答案

The arrays of UIViews will contain always a TopView, MainBodyView and a BottomView. The only difference is in the number of MainBodyView. There can be for example 10 oder 5 MainBodyViews.


传递 View 非常困惑,完全违反了 MVC。听起来您真正想在这里传递的是自定义配置结构的实例。例如(这是最小的,只需根据需要扩展它):
struct Config {
struct VConfig {
let text: String
}
let topViewConfig: VConfig
let bodyViewConfigs: [VConfig]
let bottomViewConfig: VConfig
}
现在传递数据并让目标 View Controller 担心这对 View 来说意味着什么。
这是有道理的,因为您,即组装这些数据并将其传递给目标 View Controller 的第一个 View Controller ,不负责目标 View Controller 的 View - 您没有业务了解它们或以任何方式接触它们.另外,这样,如果目标 View Controller 碰巧使用 Storyboard来实例化实际 View ,没问题,因为您对此不可知(并且正确,因为这与您无关)。

关于ios - 将 UIViews 或结构数组传递给 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63453984/

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