iOS 응용 (swift)
[iOS - swift] CFDictionary 개념 (#Dictionary vs CFDictionary)
jake-kim
2023. 11. 24. 01:30
CFDictionary 개념
- CFDictionary는 Core Foundation 프레임워크에서 제공하는 딕셔너리 데이터 구조
- C 언어 기반으로 작성되었기 때문에 일반적으로 낮은 오버헤드와 빠른 접근 속도 장점
- ex) 낮은 오버헤드와 빠른 접근 속도가 있기 때문에
- Swift의 Dictionary는 C보다는 성능 면에서 약간의 오버헤드가 존재
- 애플에서 이미지 처리 API에서 위해 Swift의 Dictionary가 아닌 CFDictionary를 사용
- 이미지 처리 API IMageIO 관련 내용에서 CFDictionray사용 내용은 포스팅 글 참고
CFDictionary 사용방법
- Core Foundation 프레임워크에서 제공하는 딕셔너리 데이터 구조

- Swift의 Dictionary를 as CFDictionary로 처리하여 바로 사용이 가능
let swiftDictionary: [AnyHashable: Any] = ["Name": "John Doe", "Age": 30]
let cfDictionary = swiftDictionary as CFDictionary
if let convertedDictionary = cfDictionary as? [AnyHashable: Any] {
print(convertedDictionary) // [AnyHashable("Name"): "John Doe", AnyHashable("Age"): 30]
}