т.е.:
boolRef = (CFBooleanRef)CFDictionaryGetValue(descriptionDictionary, kDADiskDescriptionMediaRemovableKey); if (boolRef) { CFRelease(boolRef); // do i need this code? }
Сначала прочитайте Руководство по программированию управления памятью для Core Foundation .Ответ - нет, из-за правила создания.CFDictionaryGetValue() не включает слова «Создать» или «Копировать».
CFDictionaryGetValue()
Обратите внимание, что CFRelease() в этом случае не просто не требуется, это неверно и приведет к аварийному отказу.
CFRelease()