4

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)」を実行してオブジェクトを解放すると、関数が役に立たなくなります...助けていただければ幸いです

4

2 に答える 2