Цель C - Что вызывает копирование данных в массив с плавающей точкой, что приводит к постоянному увеличению памяти? - PullRequest
0 голосов
/ 25 августа 2018

Когда я вызываю этот метод

- (int)runDetection:(NSArray *)data length:(int)length
{
    long count = [data count];

    float *dataArray = (float *)malloc(sizeof(float *) * count);

    for (int i = 0; i < count; ++i)
    {
        dataArray[i] = [[data objectAtIndex:i] floatValue];
    }

    free(dataArray);

    return -2;
}

Но после комментирования этого фрагмента кода приложение работает нормально.Нет постоянного увеличения памяти.

for(int i = 0; i < count; ++i)
{
    dataArray[i] = [[data objectAtIndex:i] floatValue];
} 

Память освобождается после использования, так почему это вызывает увеличение памяти?

...