Question

I have a subclass of SKShapenode with 2 extra attributes

@property(assign)float size;
@property(assign)float weight;

But when I save a NSMutableArray, with core data, containing some subclasses of my node, the information about size + weight is lost.

newLevel.tractorObjects = [NSKeyedArchiver archivedDataWithRootObject:arrayTractorObjects];

How can I solve this problem?

Was it helpful?

Solution

Since you appear to be using NSCoding to encode the nodes, you need to implement NSCoding in your subclass. Right now SKShapeNode is doing all of the encoding, but it doesn't know about your subclass attributes. To get your attributes encoded, you need to implement encodeWithCoder and initWithCoder. Both of these should call super's implementation so that SKShapeNode can encode itself, and then add/extract your own attributes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top