NSLog с данными CGPoint

У меня есть точка CGPoint, которой присваивается прикосновение:

UITouch *touch = [touches anyObject];

CGPoint point = [touch locationInView:self];

Я хочу получить значение координаты x в моем журнале консоли:

NSLog(@"x: %s", point.x);

Когда я использую это, выход журнала для этого:

x: (null)

Я проверил, что точка не является нулевой, когда она вызывается с помощью отладчика и вахты переменных.

Любая помощь оценивается,

Спасибо//:)

Ответ 1

На самом деле самым простым способом регистрации CGPoint является:

NSLog(@"%@", NSStringFromCGPoint(point));

Рабочий стол Cocoa эквивалент NSStringFromPoint().

Ответ 2

point.x - число с плавающей запятой, поэтому вы должны использовать:

NSLog(@"x: %f", point.x);

Ответ 3

Самый простой способ зарегистрировать значение CGPoint - использовать класс NSValue, так как он даст вам все соответствующие значения, отлично отформатированные для консоли. Это было сделано так:

NSLog(@"myPoint = %@", [NSValue valueWithCGPoint:myPoint]);

Вы также можете использовать методы +valueWithCGRect и +valueWithCGSize NSValue, когда вы пытаетесь зарегистрировать, скажем, свойства frame (CGRect) или size (CGSize) a UIView.

Ответ 4

NSLog(@"point x,y: %f,%f", point.x, point.y);

Ответ 5

point.x - число с плавающей запятой  поэтому вы должны ввести код следующим образом:

NSLog(@"%@",[NSString StringWithFormat:@"%f",point.x]);

Ответ 6

использовать:

NSLog (@ "% @", NSStringFromCGPoint (точка));

Вы также можете использовать NSString для следующей информации:

NSStringFromCGPoint
    NSStringFromCGSize
    NSStringFromCGRect
    NSStringFromCGAffineTransform
    NSStringFromUIEdgeInsets