Предупреждение об утечке памяти - PullRequest
3 голосов
/ 10 августа 2011

У меня есть массив, объявленный внутри определенного пользователем метода.Я использую этот массив для хранения значений, возвращаемых из базы данных sqlite.Затем я использую это значение для дальнейшей обработки ... Но Xcode выдает мне следующее предупреждение при объявлении массива.«Значение, сохраненное во время инициализации, никогда не читается». Вот мой код:

 NSMutableArray *tempId=[NSMutableArray array];
NSString *sqlStr1=[NSString stringWithFormat:@"select deck_id from decksTable limit '%d' offset '%d'",1,deckID-1];
char *sql1 = (char*)[sqlStr1 UTF8String];
tempId=[appDelegate.dbConnection  fetchColumnFromTable:sql1 col:0];
NSNumber *tempint1 =[tempId objectAtIndex:0];
int actualDeckID=[tempint1 intValue];

Пожалуйста, помогите мне в этом.

Примечание. DbConnection - это объект подключения к базе данных, а fetchColumnFromTable - это пользовательский интерфейс.метод, который возвращает массив значений, выбранных из базы данных.Затем я получаю первое значение в NSNumber и преобразовываю его в целое число, чтобы использовать его в моем коде.Я получаю предупреждение выше при объявлении массива tempId.

1 Ответ

5 голосов
/ 10 августа 2011

NSMutableArray *tempId=[NSMutableArray array]; не требуется, так как память, выделенная этим оператором, не используется, и вы указываете tempId на массив, возвращенный в tempId=[appDelegate.dbConnection fetchColumnFromTable:sql1 col:0];. Таким образом, вы можете просто объявить массив, а не инициализировать его. NSMutableArray *tempId;

...