Swift中的依赖注入— iOS

在Twitter上关注我: @ kiranjasvanee

依赖项注入对于一个简单的概念来说是个大词,该概念是允许对象接收其所需的依赖项。

让我们先用一个不好的例子来说明这一点,然后再使用依赖注入来查看使用它可以获得的所有好处,改进和安全性。

假设您正在构建一个用于创建专辑并在其中添加歌曲的应用程序。

首先创建相册模型。

 类相册{ 
  private var albumName:字符串! 
  func getAlbumName()->字符串{ 
 返回专辑名称 
  } 
  } 

让我们尝试在您的ViewController之一中获取albumName

 类ViewController:UIViewController { 
 覆盖func viewDidLoad(){ 
  super.viewDidLoad() 
 让albumInstance = Album() 
  print(“相册名称:\(albumInstance.getAlbumName())”) 
  } 
  } 

现在,您在这里崩溃了您的应用程序。 您正在尝试使用getAlbumName()来获取albumName ,但albumName设置albumName

在这里, albumName是您必须注入的依赖项,当然,没有专辑名称时,您将如何发行或添加歌曲。

让我们通过注入依赖关系来解决此问题。

 类相册{ 
  private var albumName:字符串! 
  init(albumName:String){ 
  self.albumName = albumName 
  } 
  func getAlbumName()->字符串{ 
 返回专辑名称 
  } 
  } 

现在,使用我们的新init函数设置albumName的值。

  let albumInstance = Album(albumName:“信誉”) 
  print(“相册名称:\(albumInstance.getAlbumName())”) 

尝试用空括号初始化Album时,会出现编译器错误。

我们完成了,这就是全部。 您已经注入了依赖性。

免责声明 依赖关系可以是任何类型,类/结构的对象或任何原始数据类型。 它的开发人员有责任注入依赖关系和安全代码,以防止崩溃。

有什么想法吗? 反馈? 意见分歧? Twitter我: @ kiranjasvanee ,Skype我: kiranjasvanee

如果您喜欢阅读这篇文章,请分享并鼓掌,以便其他人可以找到它👏👏👏!!!!

您可以在Medium上关注我以获取新文章。