Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 10th, 2012  |  syntax: None  |  size: 0.82 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. decodeObjectWithKey: results in high retain counts
  2. @interface Car : NSObject <NSCoding>
  3. @property (nonatomic, retain) NSString * carName;
  4. @property (nonatomic, retain) UIColor *color;
  5. @end
  6.  
  7.  
  8. @implementation Car
  9. @synthesize carName, color;
  10.  
  11. - (id)initWithCoder:(NSCoder *)aDecoder {
  12.     self = [super init];
  13.     if (self) {
  14.         NSLog(@"%d", color.retainCount); // prints 0
  15.  
  16.         carName = [[aDecoder decodeObjectForKey:@"carName"] retain];
  17.         color = [[aDecoder decodeObjectForKey:@"color"] retain];
  18.  
  19.         NSLog(@"%d", color.retainCount); // prints 4
  20.     }
  21.     return self;
  22. }
  23.  
  24. - (void)encodeWithCoder:(NSCoder *)aCoder {
  25.     [aCoder encodeObject:carName forKey:@"carName"];
  26.     [aCoder encodeObject:color forKey:@"color"];
  27. }
  28.  
  29. -(void) dealloc {
  30.     [carName release];
  31.     [color release];
  32.     [super dealloc];
  33. }
  34.  
  35. @end