Проблема утечки памяти в приложении iphone - PullRequest
1 голос
/ 15 июля 2011

я создал один метод, как показано ниже:

+ (JSONManager *)GetInstance
{
    if (!instance)
    {
        instance = [[JSONManager alloc] init];
    }
    return instance;
}

, и мне нужно использовать тот же метод в другом представлении ... если я выпускаю этот метод для первого просмотра, он работает нормально, и если я пытаюсьперейдите ко второму виду, мое приложение не работает.

Может кто-нибудь, пожалуйста, дайте мне знать, где мне нужно освободить этот объект

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 15 июля 2011

Код выглядит как синглтон. Назначение Singleton - иметь один экземпляр ресурса, доступный во всем приложении.

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

Если вы беспокоитесь о выпуске этого экземпляра, взгляните на следующую ссылку для шаблона синглтон-класса для приложения iOS:

http://www.galloway.me.uk/tutorials/singleton-classes/

0 голосов
/ 15 июля 2011

Если вы хотите настоящий синглтон, используйте этот шаблон и сгенерируйте его.Он основан на коде Apple Singleton http://blog.mugunthkumar.com/coding/objective-c-singleton-template-for-xcode-4/

0 голосов
/ 15 июля 2011

Это, кажется, синглтон.Вы не должны выпускать его с первого взгляда.Вы захотите использовать один и тот же экземпляр на протяжении всего жизненного цикла приложения.

Если это не является обязательным требованием, вы должны предоставить механизм для установки переменной instance на nil, так как она будет указыватьосвобожденный объект, как только вы отпустите его.Но я думаю, что это не так.

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