すなわち:
boolRef = (CFBooleanRef)CFDictionaryGetValue(descriptionDictionary, kDADiskDescriptionMediaRemovableKey);
if (boolRef) {
CFRelease(boolRef); // do i need this code?
}
すなわち:
boolRef = (CFBooleanRef)CFDictionaryGetValue(descriptionDictionary, kDADiskDescriptionMediaRemovableKey);
if (boolRef) {
CFRelease(boolRef); // do i need this code?
}
最初に Core Foundation の Memory Management Programming Guide を読んでください。ルールの作成のため、答えはノーです。CFDictionaryGetValue()
「作成」または「コピー」という言葉は含まれません。
CFRelease()
この場合、これは不要なだけでなく、誤りであり、オーバーリリース クラッシュにつながることに注意してください。