Подтвердить что ты не робот

Сохранить список CGPoints с помощью NSUserDefaults

У меня есть куча CGPoints из CCTMXLayer, который я хочу сохранить в NSUserDefaults, но не может показаться элегантным способом сделать это.

Первоначально я надеялся сохранить NSDictionary с NSMutableSet для значения, содержащего несколько NSValues ​​(valueWithCGPoint). Из того, что я могу сказать, NSUserDefaults поддерживает NSMutableSet или NSValue.

В этот момент я рассматриваю возможность сохранения значений x & y CGPoint в виде строки и просто конвертирования туда и обратно по мере необходимости.

4b9b3361

Ответ 1

Существует пара функций NSStringFromCGPoint и CGPointFromString. Вы можете использовать их для создания массива строк, представляющих точки для сериализации, а затем конвертировать обратно, когда вы закончите.

Ответ 2

Поместите их в объекты NSValue. Когда они там, вы можете записать NSValues на диск (поскольку они соответствуют <NSCoding>) или поместить их в NSUserDefaults или что-то еще.