【问题标题】:Have unknown length of navigation controllers in swiftswift中有未知长度的导航控制器
【发布时间】:2016-05-09 10:02:38
【问题描述】:

我们正在制作一个应用程序,其中我们使用一个 API,该 API 返回一个树形结构的 json 对象数组。这些对象有相同类型的孩子,所以他们也有自己的孩子。 我们想在导航控制器内的表格视图中显示这些。

所以我的问题是我们如何递归地使用导航控制器?我们不知道他们会有多少孩子的孩子。

示例 JSON 格式Pastebin

更新

为了更好地解释它,我创建了这张图片

我的问题是如何动态添加更多 UITableViewControllers?而不是创建数百个视图控制器(图片仅显示 3 个)

【问题讨论】:

  • 你能举一个 JSON 响应的例子吗?
  • 是的,对不起。用 pastebin 链接更新了问题。

标签: ios swift recursion uinavigationcontroller


【解决方案1】:

你已经给出了答案:递归。删除除第一个之外的所有表视图控制器。将第一个表视图控制器的推送转场指向自身。所以现在 push 将创建同一种表视图控制器的另一个实例,这正是你想要的。

【讨论】:

    【解决方案2】:

    我建议在代码中执行此操作。因为您不想在到达 JSON 数据的末尾后一直推送。

    例子:

        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let vc = storyboard.instantiateViewControllerWithIdentifier("TestViewController")
        self.navigationController?.pushViewController(vc, animated: true)
    

    如果您需要,我为您准备了一个快速示例项目。 https://git.kenthinson.com/kenthinson/UnknownViewControllersSwift

    【讨论】:

    • 我有这样的想法。但是对自身进行 segue 要简单得多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 1970-01-01
    • 2019-04-03
    • 2018-01-06
    • 2015-06-22
    相关资源
    最近更新 更多