2009-12-03 2 views
1

제가 생각하는 용어에 문제가 있습니다. ViewController은 MVC의 컨트롤러 부분입니까? 아니면 같은 것이 아닙니다. MVC의 VC를 하나의 파일로 결합합니까? .backgroundColor.size 같은Objective-C의 MVC 및 속성 용어집

속성이는 @property@synthesize과 같은 일이며, 만약 그렇다면이 특성으로 같은 일입니까? 의미는 Objective-C에서 속성과 속성을 교환 할 수있는 용어로 사용할 수 있습니까? 예를 들어, .backgroundColor에 코코아 클래스에 @properties 구문이 있습니까? 아니면이 방법을 사용하는 것이 잘못된 것입니까?

답변

1

NSViewController 하위 클래스는 MVC의 컨트롤러입니다. 뷰를 제어하고 모델 클래스의 데이터를 모델 클래스에 푸시합니다.

또한 .backgroundColor 및 기타 모든 도트 표기법 속성이 기본 제공 코코아 클래스에서 정확합니다. 그들은 당신이 쓰는 클래스와 마찬가지로 @property@synthesize으로 정의됩니다. 하지만 코코아에서 사용되는 더 간단한 클래스 (실제로는 구조체)가 있습니다 (예 : NSSizeNSRange). 도트 표기법 (예 : range.length, rangeNSRange이라고 가정)과 같은 필드에 액세스 할 때는 실제로 Objective-C 클래스가 아니기 때문에 @property 또는 @synthesize을 사용하지 않고 간단한 C 구조체를 사용합니다.

나는 개인적으로 Objective-C에서 "속성"과 "속성"을 사용하지만, 다른 개발자는 동의하지 않을 수 있습니다.

+0

Marc이 용어는 때로는 나 자신을 의심하게 만듭니다. 감사합니다! – I00I

+0

문제가 없습니다! 이 답변이 도움이 되었기 때문에 녹색 체크 표시를 클릭하여 "수락"답변으로 표시 할 수 있습니다. 그렇게하면 다른 사람들이 당신이 도움이되었다는 것을 알게 될 것입니다. StackOverflow에 오신 것을 환영합니다! –

4

예. 이름에 "ViewController"라는 이름을 가진 Objective-C 클래스는 Model-View-Controller 패러다임에 따라 'Controller'부분의 일부임을 나타내는 Apple 규칙입니다.

  • 모델 : 데이터 클래스.
  • 보기 : NSView, NSImageView
  • 컨트롤러 : NSViewController 클래스입니다.

    .backgroundColor 및 .size는 모두 속성입니다.

  • 키워드는 키워드 인 입니다.
  • @synthesize 키워드는 인데 속성을 인스턴스화해야합니다.
+0

감사합니다. Brock 멋진 방법입니다. – I00I