5 votes

Comment obtenir cette valeur en tant que CGFloat ?

Je demande une valeur comme celle-ci :

[self.layer valueForKeyPath:@"transform.rotation.z"]

J'ai besoin de le passer à une méthode qui prend un CGFloat comme paramètre. Quelle est l'astuce de casting ici ?

19voto

Rhythmic Fistman Points 7612

Dans Swift :

let f = view.layer.valueForKeyPath("transform.rotation.z")!.floatValue

En Objective-C :

NSNumber* n = [self.layer valueForKeyPath:@"transform.rotation.z"];
CGFloat f = [n floatValue];

1voto

Mohammad Arif Points 97

Si vous vouliez une façon plus concise, en une ligne, de le faire, vous pouvez le faire :

CGFloat f = [[self.layer valueForKeyPath:@"transform.rotation.z"] floatValue];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X