Les fuites suivantes:Comment puis-je éviter de laisser fuir cet objet Foundation?
CFStringRef labelName = ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(aMultiRef, indexPath.row));
cell.textLabel.text = (NSString *)labelName;
CFRelease(labelName);
Vous vous demandez s'il y a un moyen de le réécrire afin qu'il ne fuit pas sans sortir & attribuer ABMultiValueCopyLabelAtIndex(aMultiRef, indexPath.row)
à un CFStringRef
que j'ai besoin alors manuellement CFRelease
2 lignes plus tard? Bien sûr, ce n'est pas une grosse affaire à faire ... Je suis juste curieux.
Modifier: Est-ce que CFAutoRelease
fonctionnerait? voir mon commentaire ci-dessous
Qu'en est-il de 'CFAutoRelease'? could 'CFStringRef nomEtiquette = ABAddressBookCopyLocalizedLabel (CFAutoRelease (ABMultiValueCopyLabelAtIndex (aMultiRef, indexPath.row)))' travail? – Meltemi
Il n'y a pas de 'CFAutoRelease'; vous devriez stocker des références à tout ce que vous créez temporairement dans une variable locale et 'CFRelease' quand vous avez terminé. – rpetrich
@rpetrich dans iOS7 SDK, il ya CFAutorelease dans CoreFoundation/CFBase.h – thandasoru