#objective_c #xcode #macos #corefoundation
Здравствуйте, участники форума. Мой вопрос отражён в заголовке. Можно ли выполнить какое-либо приведение типа, чтобы свести CFMutableDictionary к CFDictionary. Заранее спасибо за помощь!)))
Ответы
Ответ 1
Не совсем приведение, но может CFDictionaryCreateCopy подойдет : @function CFDictionaryCreateCopy Creates a new immutable dictionary with the key-value pairs from the given dictionary. Пример: CFMutableDictionaryRef dict = CFDictionaryCreateMutable(NULL, 0, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks); ... CFDictionaryRef copy = CFDictionaryCreateCopy(NULL, dict); CFRelease(dict);Ответ 2
Разглядывание http://www.opensource.apple.com/source/CF/CF-476.14/CFDictionary.h показало, что все эти ...ref типы, по сути, void *. Может, попробовать через такие приведения типа (только позволит ли компилятор?). (Правда, стоит отметить, что mutable реально отличается по крайней мере флагами в дескрипторе хэш-таблицы, так что гарантировать работоспособность, не изучая тщательно код, не получится.)
Комментариев нет:
Отправить комментарий