如何检查CGMutablePathRef是否为null

时间:2011-01-17 07:00:43

标签: iphone ipad core-graphics

我有一个名为路径的CGMutablePathRef对象,我想知道,我怎么知道路径为空,这意味着我没有使用

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

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

将点推入路径。

2 个答案:

答案 0 :(得分:2)

要检查路径是否为NULL,请使用== / !=运算符。

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)的路径。

(实际上,为什么你需要关心?如果你想要一个空路径,只需创建一个新路径。)

答案 1 :(得分:0)

CGMutablePathRef是一个指针,所以你需要做的就是测试:

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