我有点坚持用mvc swift进行依赖注入。我有什么想法的MVC。我只需要知道如何使用依赖注入?为什么我们要使用它?什么是依赖注入? 而且我还需要知道什么是IOS(swift)项目的良好设计模式? MVC或MVVM?如果你们可以用示例(我的意思是用代码)给出这些问题的答案,这对我会非常有帮助。 谢谢!
模型
class Person {
private var name: String?
private var age: Int?
init(name: String,age:Int){
self.name = name
self.age = age
}
}
答案 0 :(得分:1)
您可以使用依赖注入在运行时将依赖关系传递到对象中。这在单元测试时非常有用,因为您可以提供模拟/存根对象,并防止对象进行网络调用或更新数据库记录等。这也是一个好习惯,因为您的ViewController不会配置和初始化其依赖关系。是在课堂外完成的,因此请避免这种逻辑。以后更容易交换依赖关系。
例如,在ViewController中,您可以传递网络服务:
private let service: NetworkService
init(service: NetworkService) {
self.service = service
super.init(nibName: String(describing: SomeViewController.self),
bundle: .main)
}
要对此进行单元测试,您只需传递一个模拟/存根对象,而ViewController并不是更明智的选择,它仍然可以接收数据,但它将是您提供的数据,因此是可预测的,因此更具可测试性。