2012-06-18 3 views
3

Я хотел бы хранить точки всякий раз, когда затрагиваются вызовыMoved. Пока все работает нормально. Однако то, что я хочу сделать, это создать «новый» массив каждый раз, когда вызывается touchMoved. Например, после того, как прикосновение закончилось, массив точек затем сохраняется в базе данных с идентификатором 1. При следующем вызове touchhesMoved массив освобождается и заменяется другим набором точек с другим идентификатором. Я пытался увеличивать целое число в touchesEnded каждый раз, когда он вызывается, но я понял, что целое число останется неизменным при каждом касании. Итак, как я это сделаю? Любая помощь будет очень оценена.Хранение CGPoints в 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 

Так что в основном я хочу, чтобы каждый раз, когда вызывается touchsMoved, он записывает точки, которые будут сохранены в массиве. Когда штрихи закончатся, эти записанные точки будут сохранены с идентификатором. И, как только callhesMoved будет вызван снова и снова, новый набор записанных точек будет сохранен с другим идентификатором. Есть идеи, как это сделать?

ответ

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]; 
+0

Да я уже сделал это. Я хочу, чтобы каждый раз, когда штрихи заканчивались, все записанные CGPoints были сохранены в базе данных с одним идентификатором. Затем, как только прикосновения перемещаются и заканчиваются снова, записанные точки будут сохранены в базе данных с другим идентификатором. Подумайте, как это сделать? –

+0

Просто используйте описанный выше метод и сохраните каждый массив, созданный в NSDictionary. Словарь будет хранить все массивы, и вы можете использовать NSNumber или NSDate для «определения» каждого NSArray. Вы можете получить последний объект Словаря и увеличить его на единицу (при условии, что вы использовали NSNumber для идентификатора - вы просто занесены в качестве NSInteger, приращения и отбрасывания). Множество разных способов создания «идентификатора». –

+0

Моя проблема в том, что массив не «обновлен». Я имею в виду, что я хочу, чтобы массив был опущен и записывал новый набор точек каждый раз, когда вызывается touchsMoved. Это и есть цель «идентификатора», чтобы я знал, что определенный массив точек отделен от другого массива точек. Я надеюсь, что это имеет смысл. –