在NSMutableArray和Sqlite中存储CGPoints

时间:2012-06-18 09:01:56

标签: objective-c ios xcode nsmutablearray cgpoint

我想在调用touchesMoved时存储点数。到目前为止一切正常。但是,我想要做的是每次调用touchesMoved时创建一个“new”数组。例如,一旦触摸结束,点阵列就会被保存到标识符为1的数据库中。下次调用touchesMoved时,阵列将被清空并替换为另一组具有不同标识符的点。我尝试在每次调用touchesEnded时递增一个整数,但我发现每次触摸结束时整数都会保持不变。那我该怎么做呢?任何帮助将非常感谢。

更新: 例如,我在我的数组中记录了这些点:

100.000, 200.000
100.000, 202.000
100.000, 204.000

这些点将使用标识符保存在数据库中,假设为1。

1 | 100.000 | 200.000
1 | 100.000 | 202.000
1 | 100.000 | 204.000

现在,当触摸移动并再次结束时,新的记录点集将以不同的标识符保存,假设为2。

2 | 200.000 | 300.000
2 | 200.000 | 302.000
2 | 200.000 | 304.000

基本上我想要发生的是每次调用touchesMoved时,它都会记录将保存在数组中的点。当触摸结束时,这些记录的点将与标识符一起保存。 AND,一旦再次调用touchesMoved并结束,新的记录点集将以不同的标识符保存。任何想法怎么做?

1 个答案:

答案 0 :(得分:12)

要在CGPoint中存储NSMutableArray,请执行此操作

NSMutableArray *yourCGPointsArray = [[NSMutableArray alloc] init];
[yourCGPointsArray addObject:[NSValue valueWithCGPoint:CGPointMake(100, 100)]];

//Now getting the cgpoint back
CGPoint point = [[yourCGPointsArray objectAtIndex:0] CGPointValue];