我有一个创造两个单身的课程。这会创建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;
}
答案 0 :(得分:1)
它将保留2个独立的单身人士并保留对每个人的参考。
这是因为在每个方法中声明的静态变量是独立的,并且是保留单例对象的原因