当基础 class 具有同名的可选 属性 时,协议的 属性 的重新声明无效

Invalid redeclaraciton of property for protocol when base class has optional property of same name

我有一个包含 属性 name: String 的协议。我有一个基础 class,它的 属性 为 name: String?。当我尝试采用该协议时,我不断收到无效的重新声明错误。如何重新声明同名但可选的 属性?

protocol Targetable {
    var id: String { get }
    var name: String { get }
}

您不能拥有多个名称相同但类型不同的属性,因此您无法实现您想要实现的目标。即使您更改了完全不相关类型的 name 的类型(比如 Int),您也会得到相同的错误,这与两个声明之一 [=12] 无关=].