node ninja
node ninja

Reputation: 33026

When does encodeWithCoder get called?

This will save an array (I think).

- (void)encodeWithCoder:(NSCoder *)encoder {
    [encoder encodeObject:myArray forKey:@"myArray"];
}

Do I have to directly call this method when I want to save an array or do I have to do something else?

Upvotes: 6

Views: 3729

Answers (1)

anon
anon

Reputation:

You don’t call this method directly. It’s called by a NSCoder subclass if it needs to serialize that object. If you want to encode an object graph use the class methods archivedDataWithRootObject: or archiveRootObject:toFile: of NSKeyedArchiver. This in turn will call the encodeWithCoder: method of your objects. Also note that every object in your array has to implement the NSCoding protocol.

Upvotes: 8

Related Questions