首页 > 解决方案 > 属性别名(可以说是 Identifiable 最优雅的解决方案)

问题描述

如果我想遵守协议并且协议定义了我不喜欢的属性名称怎么办?
例如:

struct Currency: Identifiable {
    let id: String
    let rate: Double
}

但在这种情况下,最好为“id”属性取一个更有意义的名称。所以我希望能够做这样的事情:

struct Currency: Identifiable {
    propertyalias iso = id
    let iso: String
    let rate: Double
}

标签: swiftprotocols

解决方案


没有“属性别名”这样的东西。

但是,您可以将该属性包装在一个计算属性中,您可以根据需要命名该属性。

struct Currency: Identifiable {
    let iso: String
    let rate: Double

    var id: String { 
        iso
    }
}

推荐阅读