관리 메뉴

김종권의 iOS 앱 개발 알아가기

[iOS - swift] CFDictionary 개념 (#Dictionary vs CFDictionary) 본문

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 프레임워크에서 제공하는 딕셔너리 데이터 구조

https://developer.apple.com/documentation/corefoundation/cfdictionary-rum

  • 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]
}

 

Comments