首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何轻松地将CGPoint对象添加到NSArray中?

如何轻松地将CGPoint对象添加到NSArray中?
EN

Stack Overflow用户
提问于 2009-05-22 19:29:38
回答 4查看 56.6K关注 0票数 130

我有大约50个描述类似“路径”的CGPoint对象,我想将它们添加到NSArray中。它将是一个只返回给定索引的相应CGPoint的方法。我不想创建50个变量,比如p1 = ...;p2 = ...等等。有没有一种简单的方法可以让我在使用对象初始化NSArray时“立即”定义这些点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-22 19:44:41

通过UIKit,苹果在NSValue中增加了对CGPoint的支持,所以你可以这样做:

代码语言:javascript
复制
NSArray *points = [NSArray arrayWithObjects:
                     [NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)],
                     [NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)],
                     nil];

列出与CGPoint一样多的NSValue实例,并以nil结尾。此结构中的所有对象都会自动释放。

另一方面,当您将值从数组中拉出时:

代码语言:javascript
复制
NSValue *val = [points objectAtIndex:0];
CGPoint p = [val CGPointValue];
票数 328
EN

Stack Overflow用户

发布于 2014-05-06 10:22:32

我使用的是:

创建数组:

代码语言:javascript
复制
NSArray *myArray = @[[NSValue valueWithCGPoint:CGPointMake(30.0, 150.0)],[NSValue valueWithCGPoint:CGPointMake(41.67, 145.19)]];

获取第一个CGPoint对象:

代码语言:javascript
复制
CGPoint myPoint = [myArray[0] CGPointValue];
票数 7
EN

Stack Overflow用户

发布于 2015-05-31 20:42:38

您还可以将其编写为以下内容的最小形式:

代码语言:javascript
复制
CGPoint myArray[] = { CGPointMake(5.5, 6.6), CGPointMake(7.7, 8.8) };

CGPoint p2 = myArray[1];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/899600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档