Как избежать этой степени радианской ошибки?

При разработке круговой диаграммы с использованием основного сюжета я добавил анимацию для данного кода

    CABasicAnimation *rotation = [CABasicAnimation animationWithKeyPath:@"transform"];
   CATransform3D transform = CATransform3DMakeRotation(DegreesToRadians(360), 0, 0, 1);
   rotation.toValue = [NSValue valueWithCATransform3D:transform];  
    rotation.duration = 10.0f;
    [pieChart addAnimation:rotation forKey:@"rotation"];    

Этот код дает следующую ошибку: Semantic Issue:

Implicit declaration of function 'DegreesToRadians' is invalid in C99

Что я могу сделать, чтобы избежать этого?

А также время запуска дает следующую ошибку:

Apple_o  Linker id error  "_DegreesToRadians", referenced from:

Спасибо и с уважением

Виджаякумар

Разработчик iOS в Rhytha

https://rhytha.com/

Ответ 1

Просто определите макрос как:

#define DEGREES_RADIANS(angle) ((angle) / 180.0 * M_PI)

И измените свой метод следующим образом:

CATransform3D transform = CATransform3DMakeRotation(DEGREES_RADIANS(360), 0, 0, 1);

Ответ 2

#define RADIANS_TO_DEGREES(radians) ((radians) * (180.0 / M_PI))

напишите этот код в верхней части вашего .m файла, где вы хотите конвертировать

сообщите мне, работает ли он или нет.

Ответ 3

Для простых углов просто используйте радианы:

Transform3D transform = CATransform3DMakeRotation(2 * M_PI, 0, 0, 1);

Быстрый список типичных углов:

Degrees | Code
--------+---------
360     | 2 * M_PI
180     | M_PI
90      | M_PI_2
45      | M_PI_4