как проверить, что CGMutablePathRef равен нулю или нет - PullRequest
2 голосов
/ 17 января 2011

У меня есть объект CGMutablePathRef с именем путь , я хочу знать, как я могу узнать путь равен нулю, это означает, что я не использовал

CGPathAddLineToPoint(path, NULL, point.x, point.y);

или

CGPathMoveToPoint(path, NULL, startPoint.x, startPoint.y);

чтобы подтолкнуть точки на путь.

Ответы [ 2 ]

2 голосов
/ 17 января 2011

Чтобы проверить, является ли путь пустым, используйте оператор == / !=.

if (path != NULL)
  CGPathAddLineToPoint(path, NULL, point.x, point.y);

Чтобы проверить, не содержит ли путь ничего, используйте CGPathIsEmpty .

if (!CGPathIsEmpty(path))
  CGPathAddLineToPoint(path, NULL, point.x, point.y);

Чтобы проверить, была ли перемещена точка пути, используйте CGPathGetCurrentPoint и сравните с (0, 0).

if (!CGPointEqualToPoint(CGPathGetCurrentPoint(path), CGPointZero))
  CGPathAddLineToPoint(path, NULL, point.x, point.y);

Конечно, это не может отличить действительно пустой путь от пути, который кто-то назвал на нем CGPathMoveToPoint(path, NULL, 0, 0).

(Собственно, зачем вам это нужно? Просто создайте новый путь, если вам нужен пустой.)

0 голосов
/ 17 января 2011

CGMutablePathRef - это указатель, поэтому все, что вам нужно сделать, чтобы проверить это:

if (NULL != path) {
  CGPathAddLineToPoint(path, NULL, point.x, point.y);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...