Для «единственного экземпляра для всего» вам необходим синглтон:
+(SomeClass *)sharedInstance {
static SomeClass *instance = nil;
if (instance == nil) {
instance = [[self alloc] init];
}
return instance;
}
Затем, где вам нужен общий экземпляр, просто выполните:
SomeClass *obj = [SomeClass sharedInstance];
Статическая переменнаяв основном то, что заставляет его работать, в сочетании с тестом «is nil», поскольку статические переменные инициализируются только один раз.
Кстати, я думаю, из-за того, что UITableViewCell
s используются (то есть копируются), выможет уже иметь то, что вам нужно, без какой-либо дальнейшей работы, такой как создание синглтона.Просто предоставьте правильную логику мелкого копирования в copyWithZone:
.