gpt4 book ai didi

iOS 在导航堆栈中的 View Controller 之间循环

转载 作者:行者123 更新时间:2023-11-28 20:56:18 26 4
gpt4 key购买 nike

我的任务是在 iOS 应用程序中创建一个流程,用户可以在其中添加多个步骤,其中步骤的数量是未定义的,每个步骤都充当一个 ViewController 在导航堆栈中,用户可以添加多个步骤(VC),同时在导航堆栈中向后移动以进行编辑,同时向前移动到现有步骤并且不会丢失任何输入的数据。

示例:用户创建第 1 步,用户创建第 2 步,用户创建第 3 步,用户返回第 2 步,用户返回第 1 步,编辑信息,前进到第 2 步,前进到第 3 步,等等。

到目前为止,除了保存构建每个 VC 的数据的 Classes 数组之外,我正在考虑创建一种计数器来跟踪用户正在进行的步骤 但我在 VC 初始化程序和 navigationController 推送和弹出方面遇到了一些麻烦。

任何帮助将不胜感激,也许有人有办法。

最佳答案

您应该创建一个类来保存步骤对象

像这样

class DataClass {
static let shared = DataClass()

var arrayObjects: [Any]

private init() {
arrayObjects = []
}

func addObject(object: Any) -> [Any] {
arrayObjects.append(object)
return arrayObjects
}

func clearObjects() {
arrayObjects.removeAll()
}

func object(at step: Int) -> Any? {
guard arrayObjects.count > step else {
return nil
}

return DataClass.shared.arrayObjects[step]
}
}

并在每个步骤中使用类似这样的数据。

DataClass.shared.object(at: step)

关于iOS 在导航堆栈中的 View Controller 之间循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52088632/

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