Конечно, это так.Хотя вполне вероятно, что использование этого объекта в памяти незначительно по сравнению с изображениями.
По природе одиночного, вам нужен механизм доступа к нему, который вы создадите, если он в настоящее время отсутствует.Существовать:
+ (MySingletonClass*) mySingleton
{
if ( mySingleton == nil )
{
mySingleton = [[MySingletonClass alloc] init];
}
return mySingleton;
}
Вам просто нужно добавить еще один, которому вы звоните, когда хотите уничтожить его:
+ (void) destroyMySingleton
{
[mySingleton release];
mySingleton = nil;
}
Если вы будете хранить ссылки на него где-то еще, у вас будут проблемы;не делай этогоЕсли вы получаете доступ из нескольких потоков, вам нужно синхронизировать.Иначе, это довольно просто - получатель воссоздает, когда вам это понадобится в следующий раз.