【发布时间】:2018-08-09 14:55:50
【问题描述】:
我有以下代码:
class C {
private enum E {
// ...
}
}
private extension C {
func f(e: E) { // error: Method must be declared private because its parameter uses a private type
// ...
}
}
如果我创建错误方法private,编译器错误就会消失。我想知道这是 Swift 中的错误还是我没有得到任何东西?
【问题讨论】:
-
“因为它的参数使用私有类型”是相关部分。 E 是私有的,所以 f(E) 也需要私有
-
@WarrenBurton,我认为 OP 说 Swift 应该推断它是私有的,因此不需要额外的关键字。对吧,奥普?
-
@WarrenBurton 该方法位于
private扩展内,这也使其成为private。我错了吗? -
@LinusGeffarth 绝对! :)
标签: swift