I’m teaching an iOS with Swift this semester and one of my students pointed out that:
struct Person { var firstName: String var lastName: String } does create a default initializer that you can call as: p = Person(firstName: “Dave”, lastName: “Reed”) but if you write: public struct Person { var firstName: String var lastName: String } The default initializer is still internal so if you want it to be public, you have to write it yourself (i.e.) public struct Person { var firstName: String var lastName: String public init(firstName: String, lastName: String) { self.firstName = firstName self.lastName = lastName } } Is there a way around this (other than writing it)? We both agree it would be reasonable/nice that the default initializer have the same protection level as the struct itself. Thanks, Dave Reed _______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users