objective c - retaining an object that was added to a relationship property of an NSManagedObject -
in have nsmanagedobject subclass:
@interface managedactivityamount : nsmanagedobject @property (nonatomic, retain) nsnumber * distance; @property (nonatomic, retain) nsnumber * duration; @property (nonatomic, retain) nsset *sets; @end @interface managedactivityamount (coredatageneratedaccessors) - (void)addsetsobject:(managedpowerset *)value; - (void)removesetsobject:(managedpowerset *)value; - (void)addsets:(nsset *)values; - (void)removesets:(nsset *)values; @end i encounter problem in keeping reference object added sets relationship using the:
- (void)addsetsobject:(managedpowerset *)value; the managedpowerset object added managedactivityamount sets property, , i'm assuming it's retain count 1 due (the actual object autoreleased before retain count 0 before adding set). correct? missing something?
i'm assigning managedpowerobject instance variable of view controller (this private instance variable, not retained property) can't seem access later. should retain it? i'm , check, want understand wasn't retained in first place.
thanks :)
if not using arc, must claim ownership (retain) of intend use @ later time. , release when done (for ivars in class's dealloc implementation). suggest use properties results in less coding. due fact must release old pointers before assigning new ones:
[_managedpowerobject release]; _managedpowerobject = [managedpo retain]; this used whenever assigning ivar (instance variable) directly. or use property:
@property (nonatomic, retain) managedpowerobject *managedpowerobject; the default implementation of property handle release/retain , can use:
self.managedpowerobject = managedpo; i suggest reading through apple's memory management guidelines: https://developer.apple.com/library/mac/#documentation/cocoa/conceptual/memorymgmt/articles/memorymgmt.html#//apple_ref/doc/uid/10000011-sw1
Comments
Post a Comment