Save list of CGPoints using NSUserDefaults
-
14-10-2019 - |
문제
I have a bunch of CGPoints from a CCTMXLayer I want to save to NSUserDefaults but cannot seem to figure out an elegant way of doing so.
Originally I was hoping to save an NSDictionary with an NSMutableSet for a value containing several NSValues (valueWithCGPoint). From what I can tell neither NSMutableSet or NSValue is supported by NSUserDefaults.
At this point I am considering saving the x&y values of the CGPoint as a string and just converting it back and forth as needed.
해결책
There exists a pair of functions NSStringFromCGPoint
and CGPointFromString
. You can use these to produce an array of strings representing the points for serialization, and then convert back when you're finished.
다른 팁
Box them in NSValue
objects. Once they're in there, you can write the NSValues
out to disk (since they conform to <NSCoding>
) or put them in NSUserDefaults
or whatever.