Private Set on Swift Property
Swift supports public get but private set on properties:
// foo.swift
public class Foo {
public private(set) var bar: String = "hahaha"
}
// baz.swift
let foo = Foo()
foo.bar = "muhahaha" // "Cannot assign to property: 'bar' setter is inaccessible"
So, Foo
is a public class with a public String
property called bar
. This property can be read, but cannot be set from the outside.