2009-07-31 7 views
5

Je demande une valeur comme ceci:Comment obtenir cette valeur en CGFloat?

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

peu je dois passer à une méthode qui prend un CGFloat comme paramètre. Quel est le truc de casting ici?

Répondre

19

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]; 
0

Si vous vouliez un moyen de faire plus concis, une ligne, vous pouvez faire:

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