嘿,我正在使用我的tablecells创建一个图像加载系统,我需要每个单元格共享我的imageloader类的相同实例。对不起,如果这是一个不成熟的问题,但有可能实现这个目的吗?所以我的意思是,如果我在同一个类的其他实例中有int变量,则int变量的值在两个类中都是相同的。
提前致谢!
答案 0 :(得分:2)
对于“所有事物的单一实例”,您需要一个单身人士:
+(SomeClass *)sharedInstance {
static SomeClass *instance = nil;
if (instance == nil) {
instance = [[self alloc] init];
}
return instance;
}
然后,无论您需要共享实例,只需执行以下操作:
SomeClass *obj = [SomeClass sharedInstance];
静态变量基本上是什么使它工作,当与“是零”测试结合时,因为静态变量只被初始化一次。
顺便说一句,我认为由于使用UITableViewCell
的方式(即复制),您可能已经拥有了所需的内容而无需进一步的工作,例如创建单例。只需在copyWithZone:
中提供正确的浅拷贝逻辑。