用于为属性提供初始值的方法。
这种方法的目的是获取松散的耦合代码。
有三种可以获得这一点 -
通过初始化 - > 在这种类型中,我们需要传递类的初始化值
class DemoVC:UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
//passing dependency value by init func
let obj = Language(langName: "Swift")
print(obj.name)
}
}
class Language{
var name:String
///1. Initialisation Dependency Injection
init(langName:String) {
self.name = langName
}
}
通过函数 - > 在这种类型中,我们将初始值作为函数参数传递。并且类属性是从此参数初始化的。
class DemoVC:UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
//setting dependency value passing parameter in method
let obj = Language()
obj.getLanuageDetails(lanugage: "Swift")
}
}
class Language{
private var name:String!
func getLanuageDetails(lanugage:String){
name = lanugage
print("Your have shown interest in \(lanugage) Language.")
}
}
by属性 - > < / strong>在这里我们通常创建 /访问类属性并直接设置值。
class DemoVC:UIViewController{
override func viewDidLoad() {
super.viewDidLoad()
//setting dependency value by setting property directly
let obj = Language()
obj.name = "Objective C"
}
}
class Language{
var name:String = "Swift"
}