NSApplicationMain

NSApplicationMain int NSApplicationMain(int argc, const char* argv[]); 코코아 앱이 실행될 때 main 함수가 곧장 호출하는 함수로, 앱 객체를 생성하고 앱의 런칭 과정을 처리한다. 앱 객체의 클래스는 무조건 NSApplication이며, 앱 델리게이트는 nib 파일 내에 정의되어 있어야 한다. (iOS는 앱 델리게이트 클래스명을 전달하는 인자 부분이 마련되어 있음) argc, argv 파라미터가 정의되어 있지만, 실제로 값을 전달해도 무시한다. 코코아 내에서는 프로그램 실행시의 arguments를 _NSGetArgv, _NSGetArgc, _NSGetEnviron 함수들을 통해서 얻어야 한다.

[OSX] NSScrollView 사용법

코코아에서 사용하는 NSScrollView는 iOS의 UIScrollView와는 약간 다르다. UIScrollView는 그 아래에 contentView를 가지고 있고, 이 컨텐트 뷰의 크기를 지정해주고, 여기에 서브 뷰를 넣으면 알아서 스크롤 및 확대/축소를 제공해주는데 비해, NSScrollView는 보다 복잡한 구조로 되어 있다. NSScrollView > contentView(NSClipView) > documentView(NSView) 와 같은 구조인 것이다. 물론 NSScrollView의 documentView 속성을 사용해서 이 문서뷰에 접근할 수 있다. 인터페이스 빌더에서 스크롤뷰 아래에 어떤 뷰를 넣고 싶다면, 스크롤뷰를 바로 만들 것이 아니라, 먼저 documentView가 될 뷰를 만들고 메뉴에서 Editor > Embed > Scrollview를 선택해서 해당 뷰가