NSString Проблемы утечки памяти - PullRequest
0 голосов
/ 25 февраля 2011

Я создаю глобальные строки, такие как:

NSString *total = nil;

Есть ли другой способ выделить память для строки, но установить для нее значение nil?

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

Если вы хотите создать глобальную строку, используйте ключевое слово extern вне интерфейса класса.Поэтому перед объявлением @interface в вашем файле .h поместите что-то вроде

extern NSString *total;

Затем в файле .m перед объявлением @implementation поместите что-то вроде

total = @"";

В противном случае, еслиэто происходит где-то внутри класса, тогда достаточно простого:

NSString *total = [[NSString alloc] init];

.

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

0 голосов
/ 25 февраля 2011

Полагаю, если вы разместите глобальные переменные в одном из классов реализации.Я думаю, вы можете освободить его в своей функции AppDelegate - (void) applicationWillTerminate: (UIApplication *) application {

сначала проверьте, выделен ли он.И отпустите его

if (total! = Nil) {[total release];}

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