Как указано в документации, CFSTR()
созданные строки остаются действительными до завершения программы. Вы можете освободить их весь день, но на самом деле они не будут освобождены. По этой причине нет необходимости явно сохранять / освобождать их. Допустимо сохранять / освобождать их, потому что в противном случае вы не могли бы передать их через другой код, который сохраняет / освобождает их (методы фреймворка и т. Д.). Относитесь к ним так же, как к литералам NSString, созданным с использованием @""
, то есть нет необходимости сохранять или освобождать их после создания, но если вы пишете код, который может принимать любую CFString, вам нужно следовать обычным правилам управления памятью в том числе с использованием CFRetain()
и CFRelease()
.