swift - 访问控制
当你在swift中编写一个类时,默认其中任何属性,方法都能被外部访问的。有的时候我们不希望属性或方法被外部访问,希望私有化。
在swift中有三个关键字
public : 公共访问,允许任何源文件中使用其定义模块。如你使用XCTest测试某个类时,就需要在类前添加public。
internal :swift默认访问控制,允许在项目内访问。
private : 私人访问,只能在当前类中访问。如果是在class前添加,则只能是当前文件访问。
举例说明:
public class SomePublicClass { // 明确 public class
public var somePublicProperty = 0 // 明确 public class 成员
var someInternalProperty = 0 // 默认 internal class 成员
private func somePrivateMethod() {} // 明确 private class 成员
}
class SomeInternalClass { // 默认 internal class
var someInternalProperty = 0 // 默认 internal class 成员
private func somePrivateMethod() {} // 明确 private class 成员
}
private class SomePrivateClass { // 明确 private class
var somePrivateProperty = 0 // 默认 private class 成员
func somePrivateMethod() {} // 默认 private class 成员
}
public var somePublicProperty = 0 // 明确 public class 成员
var someInternalProperty = 0 // 默认 internal class 成员
private func somePrivateMethod() {} // 明确 private class 成员
}
class SomeInternalClass { // 默认 internal class
var someInternalProperty = 0 // 默认 internal class 成员
private func somePrivateMethod() {} // 明确 private class 成员
}
private class SomePrivateClass { // 明确 private class
var somePrivateProperty = 0 // 默认 private class 成员
func somePrivateMethod() {} // 默认 private class 成员
}
作者:来碗杂酱面
出处:http://www.cnblogs.com/brance/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
遇到了任何问题可以联系我邮箱:292692700@qq.com(QQ也是这个 去掉后缀即可)