Ich habe einen CGPoint namens Punkt, dem eine Berührung zugewiesen wird:
UITouch *touch = [touches anyObject];
CGPoint point = [touch locationInView:self];
Ich möchte den x-Koordinatenwert in mein Konsolenprotokoll aufnehmen:
NSLog(@"x: %s", point.x);
Wenn ich dies verwende, lautet die Protokollausgabe dafür:
x: (null)
Ich habe überprüft, dass der Punkt nicht null ist, wenn dies mit dem Debugger und der Variablenüberwachung aufgerufen wird.
Jede Hilfe geschätzt,
Vielen Dank // :)
iphone
cocoa
cocoa-touch
core-graphics
nslog
Spanky
quelle
quelle
JA_DUMP(point);
„point = { 43, 96} ”protokolliert, ohne sich um Formatcodes kümmern zu müssen.point.x ist eine Gleitkommazahl, daher sollten Sie Folgendes verwenden:
quelle
Der einfachste Weg, einen
CGPoint
Wert zu protokollieren , ist die Verwendung derNSValue
Klasse, da Sie alle relevanten Werte erhalten, die für die Konsole gut formatiert sind. Es ist so gemacht:Sie können auch die Methoden
+valueWithCGRect
und+valueWithCGSize
verwenden,NSValue
wenn Sie versuchen, beispielsweise die Eigenschaftenframe
(CGRect
) odersize
(CGSize
) von a zu protokollierenUIView
.quelle
NSLog(@"point x,y: %f,%f", point.x, point.y);
quelle
point.x
ist eine Gleitkommazahl, daher sollten Sie wie folgt codieren:quelle
verwenden :
Sie können NSString auch für folgende Informationen verwenden:
quelle