2011-01-31 2 views
0

Mac OS 응용 프로그램 개발을 처음 사용합니다. iPhone 응용 프로그램 개발에 대해 잘 알고 있습니다. 하지만 Mac 응용 프로그램에서 창, 테이블 뷰 및 다른 것들을 만드는 것에 대해 혼란 스럽습니다. IB를 사용하여 이러한 것들을 가르치는 자습서를 보았습니다. 그러나 나는 이것을 프로그램으로하는 것을 배우고 싶다.Mac 응용 프로그램의 프로그래밍 방식 개발을위한 Cocoa 자습서 권장 필요

iPhone에서 View Controller를 생성하여 창에 추가하거나 창에 추가 할 수있는 탐색 컨트롤러에 추가 할 수 있습니다. Mac에서 비슷한 작업을 수행하는 방법을 알아야합니다. 누구든지 Mac 응용 프로그램의 프로그래밍 방식 개발을 가르치는 초보자 용 자습서를 제안하거나 권할 수 있습니까?

이 간단한/매우 기본/뭐든간에 - 생각할 최악의 질문에 대해 저를 비난하지 마십시오. 나는이 주제에 대해 약 1 주일 전에 인터넷 검색을 해왔다. 나는 내가 필요한 것을 찾을 수 없다. 나는 항상 당신의 도움에 감사드립니다.

감사합니다 모든 사람이 ..

답변

1

IB에 대한 마법 아무것도 없다. WYSIWYG 방식으로 동적 유형을보고 편집 할 수있는 능력을 제외하고는 어떤 기능도 추가하지 않습니다. 그것은 클래스 인터페이스의 모든 기능뿐만 아니라 일부 코코아 내부 (바인딩 및 보관과 같은 것)를 사용합니다.

가장 큰 런타임 차이는 객체 (예 : NSViews) 작성 방법에 있습니다. 펜촉으로, [[MONView alloc] initWithFrame:r]보다는 펜촉을 보관하지 않아도됩니다.

언어/패턴이 이미 마음에 들면 튜토리얼이 많이 필요하지 않습니다. 일반적으로 같은 이름의 속성을 찾아 정의합니다. 또한 NSCoder + awakeFromNib 메서드가 아닌 자신의 initWith 메서드를 구현할 것입니다. IB가 펜촉을 어떻게 보관하는지 이해하면 정말 간단합니다.

그래서 ... 출발점으로 기능별 프로그래밍 가능한 기능 구현을 권장합니다. 그 동안 NSView 그래프를 조작하고 구성하는 방법을 이해하기 위해 몇 가지 방법을 찾아보아야합니다. IB에서 알고있는 것을 소스 표현으로 변환하는 방법.

정말 특정 리소스에 대해 잘 모릅니다. 요점은 당신이 믿을 수있는 것보다 쉽다는 것입니다. 분명히 이것을 간략하게 보여주는 몇 가지 술집이 있습니다. 그러나 제가 알고있는 것은 몇 가지 경우에 개념 증명으로 신속하게 증명하고 IB를 사용하여 자습서를 계속 진행합니다.

내가 아는 최고의 단일 리소스는 코코아 프로그래밍 (Anguish/Buck/Yacktman)입니다. 아마도 날짜가 있거나 수정되었을 것입니다. 내가 아는 마지막 레브는 2002 년이다.

마지막으로, 당신은 끔찍한 생각이 무엇인지 말해 줄 수있다. 은 IB를 사용한다. 당신이 진지한 발전을 원하고 IB를 이미 이해하고 있다면, 그것은 훌륭한 기술이라고 생각합니다. 특히 복잡한 응용 프로그램과 대형 코드베이스의 경우에 매우 유용합니다. 간단한 앱의 경우별로 중요하지 않습니다. 나는 드물게 빻다 (nib)를 만들거나 사용하지 않는다. 단지 대부분의 경우 프로그래밍 방식으로 구현한다. 나는 그것이 더 깨끗하고, 빠르며, 덜 불필요하다는 것을 안다. 또한, 나는 커스텀 구현을 가지고 있고 objC++를 사용한다. 그래서 ... IB는 당신이 메인 라인에서 멀리 떨어져있을 때 그다지 도움이되지 않는다.

행운을 빈다!

+0

제안 해 주셔서 감사합니다. 나는 IB의 사용을 안다. 그러나 학습자로서 나는 항상 더 나은 것을 배우기 위해 자신을 코딩하는 것을 선호합니다. – EmptyStack

+0

@ 사이먼은 심각하게 받아들이면 완벽하게 괜찮습니다. 나는 중간 및 고급 코코아 개발자를위한 필수 기술이라고 생각합니다. 불행하게도, 그것은 내가 바라는만큼 종종 그렇지 않다.특정 방법에 대한 질문이있는 경우 문서가 도움이됩니다. 특정 방법 및 클래스에 대한 목록 끝에 관련 샘플 코드에 대한 링크를 제공합니다. 그러나 샘플의 철저 함, 적용 가능성 및 품질은 다를 수 있으므로 인터넷 검색 또한 매우 유용합니다. 누군가가 이미 질문을하거나 문제를 풀었을 때 답이 쉽게 드러나지 않을 가능성이 있습니다. – justin

+0

감사합니다. 프로그래밍으로 "Hello World"앱을 만드는 방법에 대한 자습서를 얻더라도 괜찮습니다. 나는 프로그램으로 모든 것을 시작하는 방법을 고민하고있다. – EmptyStack