reflection - 使用模型中的异构值自动填充视图
问题描述
假设我有一个如下模型:
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) }
}
我知道我可以使用反射来循环遍历属性,并开始进行一些类型检查以格式化日期,但是对于双精度数来说,事情会更加复杂,因为有些代表金额,而有些则不代表。另一个问题是如何为每个属性呈现标签。是否有一些更复杂的方法来实现这个想法?
解决方案
推荐阅读
- python - 从python中的文本文件中读取特定数据
- vba - 当用户单击表单上的文本框时,如果还没有 ID,我需要为当前记录分配一个 ID
- django - Django - 基于客户端设备的 CKeditor 动态图像大小
- python - python Mysql中的分层数据库
- javascript - 使用 Javascript/JQuery 在 HTML 表中动态填充新行
- angular - 如何使用 xlink:href 主机绑定获取组件以在启用 ivy 的情况下以角度工作
- python - 在 xpath Python 中查找隐藏的文本
- python - 限制 tag.text 的深度
- python - 使用 .to_numpy() 将特定列从 Pandas Dataframe 的一行复制到另一行
- reinforcement-learning - 了解 pytorch 中正态分布的 log_prob