Должен ли я выпустить объекты, которые я получаю из словаря на Mac? - PullRequest
0 голосов
/ 15 ноября 2010

т.е.:

boolRef = (CFBooleanRef)CFDictionaryGetValue(descriptionDictionary, kDADiskDescriptionMediaRemovableKey);
if (boolRef) {
    CFRelease(boolRef); // do i need this code?
}

1 Ответ

2 голосов
/ 15 ноября 2010

Сначала прочитайте Руководство по программированию управления памятью для Core Foundation .Ответ - нет, из-за правила создания.CFDictionaryGetValue() не включает слова «Создать» или «Копировать».

Обратите внимание, что CFRelease() в этом случае не просто не требуется, это неверно и приведет к аварийному отказу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...