public
どこからでもアクセス可能
public class SomePublicClass {}
public var somePublicVariable = 0
internal
同じモジュール内のみアクセス可能
internal class SomeInternalClass {}
internal let someInternalConstant = 0
private
同じソースコード内のみアクセス可能
private class SomePrivateClass {}
private func somePrivateFunction() {}
public struct TrackedString {
// どこからでも値を参照できるが、値を更新することはできない
public private(set) var numberOfEdits = 0
}

コメント