다음 누출 : 어떻게이 Core Foundation 객체가 유출되는 것을 피할 수 있습니까?
CFStringRef labelName = ABAddressBookCopyLocalizedLabel(ABMultiValueCopyLabelAtIndex(aMultiRef, indexPath.row));
cell.textLabel.text = (NSString *)labelName;
CFRelease(labelName);
궁금 그것이 내가 다음에 수동으로
CFRelease
2 줄 이상 필요
CFStringRef
에
ABMultiValueCopyLabelAtIndex(aMultiRef, indexPath.row)
를 할당 &을 깨지 않고 누출되지 않도록를 재 작성하는 방법이 경우? 물론, 그렇게하는 것이 큰 문제는 아니지만 ... 나는 단지 호기심이 많습니다.
편집 :CFAutoRelease
일까요? 아래 내 의견을 참조하십시오.
'CFAutoRelease'는 어떻게됩니까? CFStringRef labelName = ABAddressBookCopyLocalizedLabel (CFAutoRelease (ABMultiValueCopyLabelAtIndex (aMultiRef, indexPath.row)))); – Meltemi
'CFAutoRelease'가 없습니다; 당신이 만든 변수에 대한 참조를 일시적으로 지역 변수에 저장하고, 완료되면'CFRelease'를 저장해야합니다. – rpetrich
iOS7 SDK의 @rpetrich에는 CoreFoundation/CFBase.h에 CFAutorelease가 있습니다. – thandasoru