权限级别
open > public >internal > fileprivate > private
1.open 修饰 在本Module和跨Module 都可以访问 可以被继承和重写
2.public 修饰 在本Module和跨Module都可以访问,但是跨Module的时候是不能被继承和重写的 只能访问
3.internal 修饰 在本Module内都可访问,跨Module不可访问
4.fileprivate private 修饰 在当前类中都可以访问 不同的是fileprivate 只要在当前文件中都可以访问 ,private 只能在本类中访问 (
如下代码:
//在同一文件内
class ViewController: UIViewController {
var testA:String?
private var testB:String?
fileprivate var testC:String?
}
extension ViewController {
func aTest() {
testA = ""
testB = ""
testC = ""
}
}
class AA: UIViewController {
override func viewDidLoad() {
let vc = ViewController()
vc.testC = ""
vc.testA = ""
// vc.testB = "" 报错如下:'testB' is inaccessible due to 'private' protection level
}
}
网友评论