iOS中的多个单例单身人士

时间:2014-12-28 16:34:50

标签: ios objective-c

我有一个创造两个单身的课程。这会创建2个单独的单例并保持对每个单独的引用,或者我只是覆盖相同的单例?

+(ListingManager *)sharedListings
{
    static dispatch_once_t pred;
    static ListingManager *sharedListings = nil;
    dispatch_once(&pred, ^{
        sharedListings = [[ListingManager alloc] init];
    });
    return sharedListings;
}

+(ListingManager *)sharedSellingListings
{
    static dispatch_once_t pred;
    static ListingManager *sharedSellingListings = nil;
    dispatch_once(&pred, ^{
        sharedSellingListings = [[ListingManager alloc] init];
    });
    return sharedSellingListings;
}

1 个答案:

答案 0 :(得分:1)

它将保留2个独立的单身人士并保留对每个人的参考。

这是因为在每个方法中声明的静态变量是独立的,并且是保留单例对象的原因