0

嘿,我正在用我的表格单元制作一个图像加载系统,我需要每个单元共享我的图像加载器类的相同实例。对不起,如果这是一个nooby问题,但可以归档吗?所以我的意思是,如果我在同一类的其他实例中有 int 变量,则 int 变量的值在两个类中是相同的。

提前致谢!

4

1 回答 1

2

对于“所有事物的单一实例”,您需要一个单例:

+(SomeClass *)sharedInstance {
  static SomeClass *instance = nil;
  if (instance == nil) {
    instance = [[self alloc] init];
  }
  return instance;
}

然后,无论您需要共享实例,只需执行以下操作:

SomeClass *obj = [SomeClass sharedInstance];

当与“is nil”测试结合使用时,静态变量基本上是使其工作的原因,因为静态变量只初始化一次。

顺便说一句,我认为由于UITableViewCells 的使用方式(即复制),您可能已经拥有所需的东西,而无需任何进一步的工作,例如创建单例。只需在copyWithZone:.

于 2011-01-14T09:44:52.950 回答