ios - Call to function 'ABRecordCopyValue' returns a corefoundation object with a +1 retain count -
i have following code in project
- (bool)peoplepickernavigationcontroller: (abpeoplepickernavigationcontroller *)peoplepicker shouldcontinueafterselectingperson:(abrecordref)person { [popcontactsform dismisspopoveranimated:yes]; [ssemailvc setname: (nsstring *)abrecordcopyvalue(person,kabpersonfirstnameproperty)]; abmultivalueref emails = (nsstring *)abrecordcopyvalue(person,kabpersonemailproperty); if (abmultivaluegetcount(emails)>0) { [ssemailvc setemail:(nsstring *)abmultivaluecopyvalueatindex(emails,0)]; }else [ssemailvc setemail:@""]; cfrelease(emails); [peoplepicker dismissmodalviewcontrolleranimated:yes]; [popemailform setpopovercontentsize:cgsizemake(350.0, 225.0)]; return no; }
i gettings following warnings
1.call function 'abrecordcopyvalue' returns corefoundation object +1 retain count 2.object leaked:allocated object not referenced later in execution , has retain count of +1
please tell me how overcome problem
if using arc, can use bridge cast:
cfstringref name = (cfstringref)abrecordcopyvalue(person,kabpersonfirstnameproperty); [ssemailvc setname:(__bridge nsstring*)name]; cfrelease(name);
or bridge transfer:
nsstring * name = (__bridge_transfer nsstring *)abrecordcopyvalue(person,kabpersonfirstnameproperty); [ssemailvc setname:name];
if using mrc:
cfstringref name = (cfstringref)abrecordcopyvalue(person,kabpersonfirstnameproperty); [ssemailvc setname:(nsstring*)name]; cfrelease(name);
Comments
Post a Comment