【发布时间】:2013-11-20 05:58:25
【问题描述】:
我正在创建一个包含地图的程序,为了检查 mouseDown 发生在哪个区域,我想为每个区域创建一个 CGPath。目前我创建了这部分:
int brestPoints[] = {755,751,684,765,655,851,586,905,607,940,718,898,716,954,741,960,743,938,775,925,761,872,767,815};
brest = CGPathCreateMutable();
for (int i = 0; i < sizeof(brestPoints); i=i+2) {
if (i == 0) {
CGPathMoveToPoint(brest, NULL, brestPoints[i], 2203-brestPoints[i+1]);
} else {
CGPathAddLineToPoint(brest, NULL, brestPoints[i], 2203-brestPoints[i+1]);
}
}
CGPathCloseSubpath(brest);
我的问题是我要创建 75 个 CGPath,我想遍历多个数组以一次创建它们。
对我来说理想的解决方案是拥有一个字典,其中包含对象数组和键的区域名称。但我不能将数组作为对象,因为它只能存储对象。 将所有 75 组坐标重写为仅包含 NSNumber 会很挑剔。
有什么想法吗?
更新
我认为对于我正在尝试做的事情可能存在混淆,我有 75 个这样的 C 数组:
int brestPoints[] = {755,751,684,765,655,851,586,905,607,940,718,898,716,954,741,960,743,938,775,925,761,872,767,815};
int picardyPoints[] = {769, 884, 778, 919, 859, 959, 956, 894, 949, 864, 864, 899, 842, 889};
我需要一些方法来为每个数组创建(简单地)一个 NSBezierPath 或 CGPath。并且仍然知道哪个Path属于哪个数组(每个数组对应我地图的一个区域)。
所以我考虑将所有数组放入一个 NSDictionary 中,该 NSDictionary 将有一个与区域名称关联的数组作为键。这样我就可以遍历字典来创建我所有的路径,并且仍然可以了解它们所属的区域。但我似乎可以找到一种方法来做到这一点,因为 C 数组可以放在 NSDictionary 中。
【问题讨论】:
标签: objective-c arrays loops nsdictionary cgpath