问题
ABRecordRef addressBookRecord = ...;
ABNewPersonViewController *newPersonViewController = [[[ABNewPersonViewController alloc] init] autorelease];
newPersonViewController.newPersonViewDelegate = delegate;
newPersonViewController.displayedPerson = addressBookRecord;
Is it safe to
CFRelease(addressBookRecord);
?
Is there a standard CoreFoundation pattern around this I'm not aware of?
回答1:
I don't think it's safe to call CFRelease.
displayedPerson is defined as follows in the header.
So, displayedPerson is just assigned and not copied or retained when we set the value.
Therefore, I think we can't release it.
@property(nonatomic, readwrite) ABRecordRef displayedPerson
来源:https://stackoverflow.com/questions/2133020/does-abpersonviewcontroller-cfretain-its-displayedperson-abrecordref