2012-06-18 22 views
3

存儲CGPoints我想只要存儲touchesMoved被稱爲點。到目前爲止一切工作正常。但是我想要做的是每次觸摸移動被調用時創建一個「新」數組。例如,一旦觸摸結束,點數組將被保存到標識符爲1的數據庫中。下次調用touchesMoved時,數組將被清空,並用具有不同標識符的另一組點替換。每次調用時,我都會嘗試在touchesEnded中增加一個整數,但我發現每次觸摸結束時整數都會保持不變。那麼我將如何做到這一點?任何幫助將非常感激。中的NSMutableArray和SQLite

UPDATE: 例如,我有這樣的記錄在我的陣列點:

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被再次調用並結束,新的一組記錄點將以不同的標識符保存。任何想法如何做到這一點?

回答

12

要存儲在CGPointNSMutableArray,做到這一點

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

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

是的,我已經做到了這一點。我想要發生的是,每次觸摸結束時,所有記錄的CGPoint將通過一個標識符保存在數據庫中。然後,一旦觸摸移動並再次結束,記錄的點將以不同的標識符存儲到數據庫中。有任何想法如何做到這一點? –

+0

只需使用上述方法並將創建的每個數組存儲到NSDictionary中。該詞典將存儲所有的數組,您可以使用NSNumber或NSDate來「標識」每個NSArray。你可以得到字典的最後一個對象並且加1(假設你已經使用了NSNumber作爲標識符 - 你只是作爲一個NSInteger投入,增加並且回退)。許多不同的方式來創建一個「標識符」。 –

+0

我的問題是數組不是「刷新」。我的意思是我希望數組在每次調用touchesMoved時清空並記錄一組新的點。這就是「標識符」的目的,因爲我知道某些點的數組與另一個點的數組是分開的。我希望它是有道理的。 –