Преобразование 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.
Кроме того, ваш код выглядит правильно.