在1个类中声明多个单身人士

时间:2015-11-01 23:38:46

标签: ios swift

我有一种情况,我可能需要在一个类

中声明两个单身人士
class ImageManager {

    static var imageCache = NSCache()

    static var imageManager = ImageManager()

    (...)
}

这有危险吗?

2 个答案:

答案 0 :(得分:4)

通常,单个类中的多个静态变量没有问题。其中只有一个应该被称为 singleton - 即imageManager,因为它是您设计中唯一的实例。

但是,如果ImageManager需要独占使用NSCache,最好将imageCache设为ImageManager的实例属性。如果其他静态方法需要访问缓存,他们总是可以通过imageManager.imageCache获得对它的访问权。

答案 1 :(得分:0)

没有问题,但不推荐,你可以像这样编码

class ImageManager {
    var imageCache = NSCache()
    static var imageManager = ImageManager()
}

并像这样获取imageCache

ImageManage.imageManager.imageCache