1.0 Struct
//struct并不需要初始化方法 struct GeoLocation { var latitude: Double var longitude: Double }
2.Class
class Place { let what: String let location:GeoLocation // 每个类必须要有一个init初始化方法 init (what: String,location: GeoLocation) { self.what = what self.location = location } /*** convenience区别于init方法,一个类中可以有多个convenience初始化方法 在每一个convenience初始化方法中必须有一个本类中的指定初始化方法,(self.init),因为convenience并不是非常全面的对本类中的所有属性初始化, 如果不调用将报错***/ convenience init(what: String,latitude: Double,longitude:Double) { let location = GeoLocation(latitude: latitude,longitude: longitude) self.init(what: what,location: location) } }