Преобразование CGRect в NSValue в массиве и наоборот

Итак, у меня есть массив, полный CGRects. Эта часть в порядке. Проблема в том, что когда я перехожу к извлечению CGR из массива, я получаю странные ошибки. Проверьте мой код. Спасибо заранее.

NSArray *frameLocations = [NSArray arrayWithObjects:
                           [NSValue valueWithCGRect:CGRectMake(20, 20, 121, 124)],
                           [NSValue valueWithCGRect:CGRectMake(176, 20, 121, 124)],
                           nil];

Чем я получаю фрейм в цикле for, например:

 CGRect *imageFrame = [[frameLocations objectAtIndex:i] CGRectValue];

Я пробовал кучу разных вариантов, распространяя эту строку на несколько переменных. Но я не могу это понять. Спасибо заранее.

Ответ 1

Try:

CGRect imageFrame = [[frameLocations objectAtIndex:i] CGRectValue];

Вы получаете фактический CGRect, а не указатель на CGRect, потому что это примитивный тип C-стиля, а не объект Objective-C.

Кроме того, ваш код выглядит правильно.