Access control lets you restrict which code can use properties and methods. This is important because you might want to stop people reading a property directly, for example.
We could create a Person
struct that has an id
property to store their social security number:
struct Person {
var id: String
init(id: String) {
self.id = id
}
}
let ed = Person(id: "12345")
Once that person has been created, we can make their id
be private so you can’t read it from outside the struct – trying to write ed.id
simply won’t work.
Just use the private
keyword, like this:
struct Person {
private var id: String
init(id: String) {
self.id = id
}
}
Now only methods inside Person
can read the id
property. For example:
struct Person {
private var id: String
init(id: String) {
self.id = id
}
func identify() -> String {
return "My social security number is \(id)"
}
}
Another common option is public
, which lets all other code use the property or method.
SPONSORED Play is the first native iOS design tool created for designers and engineers. You can install Play for iOS and iPad today and sign up to check out the Beta of our macOS app with SwiftUI code export. We're also hiring engineers!
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.