【发布时间】:2019-08-20 08:35:24
【问题描述】:
当使用便捷初始化程序创建实例时,操场一直给我这个错误“错误:执行被中断,原因:EXC_BAD_ACCESS (code=2, address=0x7ffee5ae9ff8)”但是当使用指定的初始化程序时它工作正常。
我不完全确定我是否正确设置了便捷初始化程序,以便在创建新实例时只需要 arsenal 参数。
class FootballTeams {
var liverpool: String
var chelsea: String
var manchesterunited: String
var arsenal: String = "fourth"
init(arsenal:String, chelsea:String,
liverpool: String, manchesterunited:String ) { //designated initialiser
self.arsenal = arsenal
self.chelsea = chelsea
self.liverpool = liverpool
self.manchesterunited = manchesterunited
}
convenience init(arsenal: String){
self.init(arsenal: arsenal) //call to designated initialiser above
self.arsenal = arsenal
}
}
let properInstance = FootballTeams(arsenal: "Overides stored property value", chelsea: "a", liverpool: "b", manchesterunited: "b")
print(properInstance.arsenal)
let convenienceInstance = FootballTeams(arsenal: "This is an instance from the convenience init")
print(convenienceInstance.arsenal)
【问题讨论】:
标签: swift initialization init swift-playground convenience-methods