티스토리 뷰

iOS

iOS ) UIView와 NSView의 차이

Zedd0202 2017. 12. 29. 12:41
반응형

안녕하세요 :) Zedd입니다.

저번글하다가 displayIfNeeded()메소드를 보다가 말았죠 

displayIfNeeded()메소드가 여러 클래스의 인스턴스 메소드였는데...그 중 하나가 NSView였죠?

그래서 급 궁금해진 UIView랑 NSView의 차이..저도 아직 몰라서...별 차이 없을 수도 있음ㅎ



UIView와 NSView의 차이



먼저 모르는게 있으면 Apple문서!!!

UIView의 정의를 보러갑시다.


일단 UIView는 이름에 걸맞게 UIKit프레임워크 안에 있는 클래스입니다.

정의는

"화면(screen)의 직사각형 영역에 대한 컨텐츠를 관리하는 객체입니다"

라고 하네요 :)

다들 UIKit은 익숙하시죠? cocoa touch class를 만들면 항상 import가 되어있는 그 프레임워크..

 UIKit는 iOS또는 tvOS앱을 위한 그래픽 이벤트 기반 사용자 인터페이스를 구축하고 관리해주는 프레임워크입니다.

여기서 중요한건 "iOS 또는 tvOS앱을 위한" 



그럼 NSView는?


NSView의 정의는 

"App에서 이벤트를 그리고, 인쇄하고, 처리하기 위한 인프라입니다"


흐음..정의만 봐서는 잘 모르겠네요..그런데 한가지 주목해야할 사실이 있습니다.

헉 UIKit프레임워크 안에 있는애가 아니고, AppKit안에 있네요!!!


AppKit이 뭔지 아시나요!?!? 어쩌면 한번도 안들어본 분들도 계실지도

AppKit은 UIKit과 마찬가지로 프레임워크입니다.


정의는 "MacOS앱을 위한 그래픽 기반의 이벤트 기반 사용자 인터페이스를 구성하고 관리합니다."

위에서 UIKit와 딱 한가지 다른데..뭔지 아시겠나요?

네!! UIKit은 iOS와 tvOS를 위한 것이었다면,

AppKit은 MacOS앱을 위한 프레임워크네요!!

(그럼 그 말은..displayIfNeeded()은 MacOS앱 만들 때 사용하는 메소드인가?..)


진짜 NSView인지 궁금해서 MacOS앱 만들어봄..



처음 Mac앱 프로젝트 만들어봐요zzzz




가장 눈에 띄는 점은 ViewController가 UIViewController를 상속받는게 아니라, NSViewController를 상속받고 있네요.

그럼 View도 NSView?



그러하다

그럼  NSView의 정의였던 "App에서 이벤트를 그리고, 인쇄하고, 처리하기 위한 인프라입니다" 에서의 App은 MacOS App을 의미하겠네요 :)

ㅇㅎㅇㅎㅇㅎ


이렇게 UIView와 NSView의 차이점을 알아보았습니다.

다음엔 displayIfNeeded()메소드가 어떤건지!! 알아봅시댜

오늘도 도움이 되었길 바라며 안녕!! 

2017년의 마지막 금요일 다들 잘 보내시길 바랄게요!!! 💕


+ )

그나저나 원래 자고 딱 일어나면 업데이트 되어있는데.....연휴동안 많이 밀렸나...? 앱이 심사에 들어갔다는 메일도 않오네요 ㅠㅠㅠㅠㅠㅠ흐규 

내년에 될듯;;;;;;


반응형