Objective c 在NSMutableArray和Sqlite中存储CGPoints

Objective c 在NSMutableArray和Sqlite中存储CGPoints,objective-c,ios,xcode,nsmutablearray,cgpoint,Objective C,Ios,Xcode,Nsmutablearray,Cgpoint,每当调用ToucheSmove时,我都会存储积分。到目前为止一切正常。然而,我想做的是在每次调用touchesMoved时创建一个“新”数组。例如,触摸结束后,点阵将以标识符1保存到数据库中。下次调用touchesMoved时,数组将清空并替换为另一组具有不同标识符的点。我尝试在每次调用touchesend时递增一个整数,但我发现每次触摸结束时该整数都会保持不变。那我怎么做呢?任何帮助都将不胜感激 更新: 例如,我在阵列中记录了以下点: 100.000, 200.000 100.000, 202

每当调用ToucheSmove时,我都会存储积分。到目前为止一切正常。然而,我想做的是在每次调用touchesMoved时创建一个“新”数组。例如,触摸结束后,点阵将以标识符1保存到数据库中。下次调用touchesMoved时,数组将清空并替换为另一组具有不同标识符的点。我尝试在每次调用touchesend时递增一个整数,但我发现每次触摸结束时该整数都会保持不变。那我怎么做呢?任何帮助都将不胜感激

更新: 例如,我在阵列中记录了以下点:

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时,它都会记录保存在数组中的点。触摸结束后,记录的点将与标识符一起保存。并且,一旦再次调用touchesMoved并结束,新的记录点集将使用不同的标识符保存。有什么办法吗?

要将
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];

是的,我已经做过了。我想做的是,每次触摸结束时,所有记录的CG点都将用一个标识符保存在数据库中。然后,一旦触摸移动并再次结束,记录的点将以不同的标识符存储到数据库中。你知道怎么做吗?只需使用上述方法,将创建的每个数组存储到NSDictionary中。字典将存储所有数组,您可以使用NSNumber或NSDate“标识”每个NSArray。您可以获取字典的最后一个对象并按1递增(假设您使用了NSNumber作为标识符-您只需强制转换为NSInteger、increment和cast back)。创建“标识符”有很多不同的方法。我的问题是数组没有“刷新”。我的意思是每次调用touchesMoved时,我希望数组清空并记录一组新的点。这就是“标识符”的目的,让我知道某个点数组与另一个点数组是分开的。不过我希望它是有意义的。好吧,那么,让NSMutableDictionary(原始注释应该已经反映了这一点)只包含一个对象,并在添加具有不同(或相同)标识符(键)的新对象(NSArray)之前删除该对象(NSArray)。