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 成员 }