J'ai un point CGPoint appelé auquel une touche est attribuée:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
Je souhaite obtenir la valeur de la coordonnée x dans le journal de ma console:
NSLog(@"x: %s", point.x);
Lorsque j'utilise ceci, la sortie du journal pour ceci est:
x: (null)
J'ai vérifié que le point n'est pas nul lorsqu'il est appelé à l'aide du débogueur et de la surveillance des variables.
Toute aide appréciée,
Merci // :)
En fait, le moyen le plus simple de consigner une CGPoint
est:
NSLog(@"%@", NSStringFromCGPoint(point));
L'équivalent de bureau Cocoa est NSStringFromPoint()
.
point.x est un nombre à virgule flottante, vous devriez donc utiliser:
NSLog(@"x: %f", point.x);
Le moyen le plus simple de consigner une valeur CGPoint
consiste à utiliser la classe NSValue
, car elle vous donnera toutes les valeurs pertinentes correctement formatées pour la console. C'est fait comme ça:
NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]);
Vous pouvez également utiliser les méthodes +valueWithCGRect
et +valueWithCGSize
de NSValue
lorsque vous essayez de vous connecter, par exemple aux propriétés frame
(CGRect
) ou size
(CGSize
) d'un UIView
.
NSLog(@"point x,y: %f,%f", point.x, point.y);
point.x
est un nombre à virgule flottante vous devriez donc coder comme ceci:
NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);
utilisation :
NSLog (@ "% @", NSStringFromCGPoint (point));
Vous pouvez également utiliser NSString pour les informations suivantes:
NSStringFromCGPoint
NSStringFromCGSize
NSStringFromCGRect
NSStringFromCGAffineTransform
NSStringFromUIEdgeInsets