Я на самом деле конвертирую некоторые из моих исходных файлов в ARC. ARC очень хорош, экономит время и утечки памяти. На самом деле я пытаюсь преобразовать свой код AVFoundation и достиг своих пределов в одной очень специальной строке кода:
image = [CIImage imageWithCVPixelBuffer:pixelBuffer options:[NSDictionary dictionaryWithObject:colorSpace forKey:kCIImageColorSpace]];
«цветовое пространство» является типом CGColorSpaceRef или CGColorSpace *. CGColorSpace является структурой и не может быть преобразован в id. Я очень удивлен этим, потому что код всегда работал для меня (цветовое пространство используется CIImage правильно). Я не могу запустить компилятор, используя ARC, потому что цветовое пространство не является объектом C. Компилятор (использующий ARC) отказывается добавлять цветовое пространство в словарь.
Кто-нибудь знает, как заменить «цветовое пространство» внутри этого словаря, или как сказать компилятору, что с этим указателем цветового пространства можно использовать?