2009-07-31 15 views
5

Estoy pidiendo un valor de la siguiente manera: necesito¿Cómo obtener este valor como un CGFloat?

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

poco para pasarlo a un método que toma un CGFloat como parámetro. ¿Cuál es el truco de casting aquí?

Respuesta

19

En 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 querías una, de una forma más concisa línea de hacer eso, usted puede hacer:

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