5

所以我想使用 appendBezierPathWithPoints:count:NSBezierPath中的方法。但该方法需要我使用 NSPointArray。这部纪录片并没有真正谈论它,我所能得到的只是它是一个 NSPoints 数组,我不知道该怎么做。我认为它使用了 c 数组机制,但我不确定。

谢谢。

4

2 回答 2

8

是的,你需要一个 C 风格的点数组来传递给appendBezierPathWithPoints:count:. 例如,您可能会执行以下操作:

NSPoint pointArray[3];

pointArray[0] = NSMakePoint(0, 0);
pointArray[1] = NSMakePoint(0.5, 0.25);
pointArray[2] = NSMakePoint(1, 1);

[lines appendBezierPathWithPoints:pointArray count:3];

lines的实例在哪里NSBezierPath

在更复杂的情况下,您将使用可变数量的点说。

于 2011-02-23T13:14:09.827 回答
2

如果你想使用 Objective-C 风格的数组,那么你必须使用 NSValue 类来达到这个目的。

NSMutableArray *array = [NSMutableArray array];

CGPoint myPoint;
myPoint.x = 100;
myPoint.y = 200;

[array addObject:[NSValue valueWithPoint:myPoint]];

要从数组中检索 NSPoint:

myPoint = [array[0] pointValue];

希望能帮助到你。

于 2015-07-30T07:29:33.987 回答