当基础 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] 无关=].
我有一个包含 属性 name: String
的协议。我有一个基础 class,它的 属性 为 name: String?
。当我尝试采用该协议时,我不断收到无效的重新声明错误。如何重新声明同名但可选的 属性?
protocol Targetable {
var id: String { get }
var name: String { get }
}
您不能拥有多个名称相同但类型不同的属性,因此您无法实现您想要实现的目标。即使您更改了完全不相关类型的 name
的类型(比如 Int
),您也会得到相同的错误,这与两个声明之一 [=12] 无关=].