본문 바로가기
#컴퓨터 과학 [Computer Science]/운영체제 (Operating System)

[OS - 🍎 macOS] Cocoa CustomView 가져오는 방법 (Working with Custom Views)

by cy_mos 2022. 12. 14.
반응형
반응형
카테고리 게시글 작성 날짜 게시글 최근 수정 날짜 작성자
Operating System 2022.12.14. 21:22 2022.12.14. 21:22 Dev.Yang

 

/**
        `NSNib`를 통해서 제작 된 `NSView`를 가져올 수 있는 함수입니다.

        - Version: `1.0.0`
        - Authors: `ChangYeop-Yang`
        - Returns: `Optional<T>`
     */
    final func loadCustomView<T>(name stringLiteral: String, type: T.Type) -> Optional<T> {

        var topLevelObjects: Optional<NSArray> = nil

        let name: NSNib.Name = NSNib.Name(stringLiteral: stringLiteral)
        guard Bundle.main.loadNibNamed(name, owner: self, topLevelObjects: &topLevelObjects) else { return nil }

        let viewObjects = topLevelObjects?.filter { $0 is NSView }
        guard let mainView = viewObjects?.first as? T else { return nil }

        return mainView
    }

🚀 REFERENCE

반응형

댓글