swift - 属性别名(可以说是 Identifiable 最优雅的解决方案)
问题描述
如果我想遵守协议并且协议定义了我不喜欢的属性名称怎么办?
例如:
struct Currency: Identifiable {
let id: String
let rate: Double
}
但在这种情况下,最好为“id”属性取一个更有意义的名称。所以我希望能够做这样的事情:
struct Currency: Identifiable {
propertyalias iso = id
let iso: String
let rate: Double
}
解决方案
没有“属性别名”这样的东西。
但是,您可以将该属性包装在一个计算属性中,您可以根据需要命名该属性。
struct Currency: Identifiable {
let iso: String
let rate: Double
var id: String {
iso
}
}
推荐阅读
- date - 使用“前一周的最后一天”过滤来自 BigQuery 的数据
- javascript - 如何模拟 loadable.lib 以使库在某些单元测试中同步加载?
- javascript - 循环函数查找 14 位数字并为这些结果运行脚本 - Javascript
- python - 有没有办法将这种类型的dict设置为redis?
- node.js - 如何计算猫鼬中其他子文档上的特定子文档?
- arrays - 如何基于角度中的复选框创建产品过滤器
- serialization - ember 3 是否需要从 ember-data/active-model-adapter 迁移到 DS.JSONAPISerializer?
- python - 评估 k-means 算法找到的邻居
- graphql - 通过 GraphQL 查询多对多相关数据
- php - php如何在不使用foreach的情况下单独回显数组数据