Если я использую статический ресурс в классе Objective-C, создам ли я утечку памяти, не выпуская его? Что-то вроде следующего:Освобождение статических ресурсов в Objective-C
@interface MyClass : NSObject
+ (MyClass *)sharedInstance;
@end
@implementation MyClass
+ (MyClass *)sharedInstance
{
static MyClass * inst;
if (!inst)
inst = [MyClass new];
return inst;
}
@end
А) Есть ли сценарий, при котором приложение, использующее этот класс закрывается, и это статическое объявление создает утечку памяти?
B) Есть ли какой-либо метод класса, такой как + (void)unloadClassDefinition
, который вызывается, когда определения классов очищаются из памяти? (Это даже случается?)
Оба вопроса эффективно охватывают один и тот же материал, но они не являются дубликатами, потому что этот вопрос представляет собой более общий случай, чем другой. Без обоих вопросов и их ответов (или без этого) может быть неясно, что правильное поведение для обоих случаев одинаково. –