我有一个名为路径的CGMutablePathRef对象,我想知道,我怎么知道路径为空,这意味着我没有使用
CGPathAddLineToPoint(path, NULL, point.x, point.y);
或
CGPathMoveToPoint(path, NULL, startPoint.x, startPoint.y);
将点推入路径。
答案 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);
}