UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

SOLVED: Unwrap app; Lesson: Structs - Access control

Forums > 100 Days of SwiftUI

I'm using the Unwrap app for the first few day of 100's of SwiftUI, and I can't figure out why one of the quiz questions is what it is.

Lesson: Structs - Access control

Quiz Quesiton: This is valid Swift - true or false?

sturct Person {
private var socialSecurityNumber: String
  init(ssn: String) {
    socialSecurityNumber = ssn
  }
}
let sarah = Person(ssn: "555-55-555")

Answer: True

I thought line four need to be self.socialSecurityNumber = ssn

Why isn't self used? Can someone explain?

3      

You don't need to use self in an init method unless the variable you are assigning to has the same name as one of the method's parameters or when referring to another initializer of the struct.

So if it had been like this:

init(socialSecurityNumber: String) {
    self.socialSecurityNumber = socialSecurityNumber
}

then you would have to use self so the compiler would know which socialSecurityNumber you were referring to.

4      

BUILD THE ULTIMATE PORTFOLIO APP Most Swift tutorials help you solve one specific problem, but in my Ultimate Portfolio App series I show you how to get all the best practices into a single app: architecture, testing, performance, accessibility, localization, project organization, and so much more, all while building a SwiftUI app that works on iOS, macOS and watchOS.

Get it on Hacking with Swift+

Sponsor Hacking with Swift and reach the world's largest Swift community!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.