【问题标题】:is it possible to generate boiler plate form data entry views from templates/structs/classes in SwiftUI是否可以从 SwiftUI 中的模板/结构/类生成样板表单数据输入视图
【发布时间】:2021-06-04 00:19:23
【问题描述】:

我需要为简单的结构/类等创建许多数据输入表单。我不想参与手动编写视图的乏味。

理想情况下,我可以只提供一些“可编码”的结构/类,并且可以为我自动生成视图

作为一个例子,我有一些包含简单字段的模型

struct Person {
  let age: Int
  let firstName: String
  let lastName: String
}

struct Blah {
  let a: Int
  let b: String
  let c: Date
  let d: Float
}

等等。等等

任何类似于“Codable”的“魔法”可以生成适当的 SwiftUI 视图?

例如:

struct Person: SwiftUIView {
  ...
}

【问题讨论】:

    标签: swift swiftui code-generation boilerplate


    【解决方案1】:

    您可以使用 Telosys (https://www.telosys.org) 代码生成器来做到这一点,该代码生成器旨在通过生成应用程序的“样板”部分来减少编程工作量。它是一款轻量级实用工具,易于使用。

    它基于“模型”来定义您的所有实体(就像您提到的“结构”),但使用特定(并且非常简单)的 DSL 编写 (见https://www.telosys.org/dsl-syntax.html

    Telosys 可用于生成任何类型的编程语言。目前似乎没有适用于 SwiftUI 的现有模板,但创建特定模板非常简单,它们基于众所周知的 Velocity 模板语言 (https://velocity.apache.org/)。 GitHub https://github.com/telosys-templates-v3 上提供了一些模板示例。

    欲了解更多信息,另请参阅:https://modeling-languages.com/telosys-tools-the-concept-of-lightweight-model-for-code-generation/

    【讨论】:

      猜你喜欢
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多