在objective-c中创建一个可调整大小的CGPoints数组

5 arrays vector objective-c resizable

我试图在objective-c中创建一个可重复大小的CGPoints数组.我已经研究过使用NSMutableArray,但它似乎不允许调整大小.还有其他我可以使用的东西吗?

谢谢

Dav*_*ong 21

使用一个NSMutableArray,但只需将CGPoint结构包装在NSValue对象中.例:

CGPoint myPoint = {0,0};
CGPoint anotherPoint = {42, 69};

NSMutableArray * array = [NSMutableArray array];
[array addObject:[NSValue valueWithCGPoint:myPoint]];
[array addObject:[NSValue valueWithCGPoint:anotherPoint]];

CGPoint retrievedPoint = [[array objectAtIndex:0] CGPointValue];
Run Code Online (Sandbox Code Playgroud)

请注意,+valueWithCGPoint:CGPointValue方法仅适用于iPhone.不过,如果你需要这个适用于Mac,也有处理类似方法NSPoint秒,是微不足道的一个转换CGPointNSPoint(你可以施放或使用NSPointFromCGPoint()).