2016-10-12 4 views
2

Я не знаком с концепцией использования singleton для дополнительных фреймворков. Например, в чем разница между следующими двумя вызовами функций для SDWebImage, когда я должен использовать это. Некоторые небольшие примеры было бы здоровоИспользование singleton для SDWebImage

SDWebImageManager().saveImageToCache(myImg, forURL: myUrl) 
SDWebImageManager.sharedManager().saveImageToCache(myImg, forURL: myUrl) 
+0

Возможно, расширение UIImage будет лучше нет? Таким образом, вы можете создать метод сохранения изображения в кеше с определенным URL-адресом, переданным как параметр –

ответ

2
  • , когда я должен использовать, который:

Вы должны всегда использовать

SDWebImageManager.sharedManager().saveImageToCache(myImg, forURL: myUrl) 
    <=> let sharedInstance = SDWebImageManager.sharedManager(); 
      sharedInstance.saveImageToCache(myImg, forURL: myUrl) 
  • Почему: SDWebImageManager.sharedManager() означает: метод вызова sharedManager класса SDWebImageManager, чтобы получить экземпляр класса SDWebImageManager,

тогда вы звоните saveImageToCache(...) вызвать метод saveImageToCache этого экземпляра.

+0

Я не понимаю, почему я должен всегда использовать sharedManager. Думаю, имеет смысл использовать только один экземпляр. Если бы я не использовал путь sharedManager, я бы встретил ошибку? (Мне нравится учиться, зная, что пойдет не так для неправильного случая) – user172902

+0

Во-первых: saveImageToCache - это метод экземпляра. Поэтому, если вам нужен тот же результат, вы должны вызвать этот метод с тем же экземпляром (для чего нам нужен sharedManager). Во-вторых: научитесь использовать кнопку upvote, если люди помогли вам, lol –

2
  1. Создать новый экземпляр SDWebImageManager каждый раз вы звоните.
  2. Используйте тот же экземпляр SDWebImageManager - который был создан и настроен только один раз и всегда готов к использованию.
+0

Глядя на ответ Динь, я всегда должен был правильно использовать sharedManager? Что не так с созданием SDWebImageManager каждый раз, если я сделал это «неправильный» способ – user172902

+0

, здесь нет ничего плохого, это зависит от вас и от вашей цели. –

Смежные вопросы