SDWebImage 单例的使用

Use of singleton for SDWebImage

我不是 100% 熟悉将 singleton 用于其他框架的概念。例如下面两个对SDWebImage的函数调用有什么区别,我应该用which。一些小例子会很棒

SDWebImageManager().saveImageToCache(myImg, forURL: myUrl)
SDWebImageManager.sharedManager().saveImageToCache(myImg, forURL: myUrl)
  • 什么时候我应该使用哪个:

您应该始终使用

 SDWebImageManager.sharedManager().saveImageToCache(myImg, forURL: myUrl)
   <=> let sharedInstance = SDWebImageManager.sharedManager();
           sharedInstance.saveImageToCache(myImg, forURL: myUrl)
  • 为什么: SDWebImageManager.sharedManager() 表示:调用class的方法sharedManager SDWebImageManager得到Class的实例 SDWebImageManager,

然后您调用 saveImageToCache(...) 来调用该实例的方法 saveImageToCache

  1. 每次调用时创建 SDWebImageManager 的新实例。
  2. 使用 SDWebImageManager 的相同实例 - 仅创建和设置一次,随时可供您使用。