У меня есть следующий код, разработанный для преобразования объекта NSMutableString в NSData объекта:Как правильно освободить память в iOS: память никогда не выпускается; потенциальная утечка памяти, на которую указывает
-(NSData *)desSerializarFirma:(NSMutableString *)firma{
NSArray *arregloBits = [firma componentsSeparatedByString:@","];
unsigned c = arregloBits.count;
uint8_t *bytes = malloc(sizeof(*bytes) * c);
unsigned i;
for (i = 0; i < c; i ++)
{
NSString *str = [arregloBits objectAtIndex:i];
int byte = [str intValue];
bytes[i] = (uint8_t)byte;
}
return [NSData dataWithBytes:bytes length:c];
}
, когда я анализирую это с Xcode он говорит
memory is never released; potential leak of memory pointed to by 'bytes'
это заявление указывает на последняя строка моего кода:
return [NSData dataWithBytes:bytes length:c];
если я выпускаю объект, выполнив «свободных (байт)», то я получу FUNC бесполезно ... любая помощь, которую я буду признателен
Вам просто нужно, чтобы освободить его, когда вы сделали с ним. –
вы правы, с вашим ответом и помощью dasblinkenlight я могу решить это спасибо –