首页 > 解决方案 > 使用模型中的异构值自动填充视图

问题描述

假设我有一个如下模型:

struct Coupon: Identifiable {
    let id: Int
    let code: String
    let totalAmount: Double
    let spentAmount: Double
    let rate: Double
    let validFrom: Date
    let validTo: Date
    let supplier: Supplier
}

我的意图是构建一个类似 SwiftUI 卡片的视图,使用如下辅助函数显示所有格式化信息:

private func entry(for label: LocalizedStringKey, value: LocalizedStringKey) -> some View {
    HStack { Text(label); Spacer(); Text(value) }
}

我知道我可以使用反射来循环遍历属性,并开始进行一些类型检查以格式化日期,但是对于双精度数来说,事情会更加复杂,因为有些代表金额,而有些则不代表。另一个问题是如何为每个属性呈现标签。是否有一些更复杂的方法来实现这个想法?

标签: reflectionswiftui

解决方案


推荐阅读