我开发了下一个用于将 NSMutableString 对象转换为 NSData 对象的代码:
-(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];
如果我通过执行 'free(bytes)' 来释放对象,那么我的功能将变得毫无用处......任何帮助我将不胜感激