Вопрос о статической переменной объекта C - PullRequest
1 голос
/ 07 января 2011

Как вы знаете, мы определяем параметр статической переменной в Объекте c,

что я имею в виду, как отобразить эту статическую переменную объекта из представления управления памятью.

например

@interface classA:NSObject
+ (id) getInstance;
@end

static ClassA staticObject = nil;
@implementation ClassA
 + (id){
      if(staticObject)
         staticObject = [doinitStuff];
      return staticObject   
 }
@end

Теперь вопрос в том, кто отвечает за хранение статической памяти объекта. когда он будет выпущен.

о чем я думаю:

Операционная ОС будет контролировать приложение, и только когда приложение действительно закроется, эта память будет освобождена. с точки зрения RUNtime он сохраняется и считается = 1; // просто 1

любая мысль была бы очень признательна. Спасибо.

1 Ответ

2 голосов
/ 07 января 2011

Он ничем не отличается от любой другой переменной. Если вы хотите, чтобы он оставался, retain. Если нет, не делайте (или, если сохраните, отпустите / автоматически выпустите).

Нет необходимости освобождать память при выходе из приложения. Когда ваше приложение закрывается, все ресурсы будут пожинаться независимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...