【发布时间】:2017-10-22 07:27:38
【问题描述】:
这是我的 ViewController.swift 文件:
class ViewController: UIViewController {
private var myInt = 10
}
extension ViewController {
func printMyInt() {
print(myInt)
}
}
虽然在Swift documentation - Access Levels section中提到:
私人访问将实体的使用限制在封闭范围内 声明,以及该声明在中的扩展 同一个文件。使用私有访问隐藏 a 的实现细节 仅使用这些细节时的特定功能 在一个声明中。
由于 Swift 4 已经发布,我假设我能够实现这样的事情(它也在:What's New in Swift - WWDC 2017 session 中提到),但是,编译器告诉我:
由于“私人”保护级别,无法访问“myInt”
是否与文档中提到的不兼容?
作为一个简单快速的解决方案,我可以将其声明为:
fileprivate var myInt = 10
但我想知道为什么会这样,我误解了文档中提到的内容吗?还是“Xcode”错误(使用 9.0.1 版本)?
备注:该项目是在旧版 Xcode 8 中创建的,然后迁移到 Xcode 9。
【问题讨论】:
标签: swift xcode access-control swift4