iphone - NSLog con datos de CGPoint
cocoa cocoa-touch (6)
En realidad, la manera más fácil de registrar un CGPoint
es:
NSLog(@"%@", NSStringFromCGPoint(point));
El equivalente de escritorio de Cocoa es NSStringFromPoint()
.
Tengo un punto llamado CGPoint al que se le está asignando un toque:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
Quiero obtener el valor de la coordenada x en el registro de mi consola:
NSLog(@"x: %s", point.x);
Cuando uso esto, la salida de registro para esto es:
x: (nulo)
He verificado que el punto no es nulo cuando se lo llama usando el depurador y el reloj variable.
Cualquier ayuda apreciada,
Gracias // :)
La forma más sencilla de registrar un valor CGPoint
es usar la clase NSValue
, ya que le dará todos los valores relevantes formateados muy bien para la consola. Se hace así:
NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]);
También puede usar los +valueWithCGRect
y +valueWithCGSize
de NSValue
cuando intenta registrar, por ejemplo, las propiedades de frame
( CGRect
) o size
( CGSize
) de un UIView
.
point.x es un número de punto flotante, por lo que debe usar:
NSLog(@"x: %f", point.x);
utilizar :
NSLog (@ "% @", NSStringFromCGPoint (punto));
También puede usar NSString para la siguiente información:
NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets
NSLog(@"point x,y: %f,%f", point.x, point.y);
point.x
es un número de punto flotante, por lo que debe codificar de esta manera:
NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);