2009-10-19 5 views
7

Objective-C를 배우고 있는데, 일부 자습서에서는 Object (objc/Object.h에서 가져온 것)를 사용하고 다른 것들에서는 NSObject (Foundation/NSObject.h),하지만 그들 사이의 주요 차이점은 무엇입니까?Object와 NSObject의 차이점

감사합니다.

+0

Object를 사용하는 자습서 중 하나에 대한 링크를 제공 할 수 있습니까? –

+0

참고 : http://www.tenon.com/products/codebuilder/Objective-C.shtml –

답변

6

을 참조하십시오. Object를 무시해야합니다.

Objective-C는 여러 개의 루트 클래스를 허용합니다. Object는 NSObject를 선행하는 루트 클래스입니다. 당신이 사용하기를 원하는 무언가가 결코 아닙니다. 뭔가 관련이 Object와 이미 상호 작용할 때만 관련이 있으므로 처리해야합니다. 이것은 매우 드뭅니다.

예를 들어 개체에 -retain-release이 구현되어 있지 않습니다.

+0

그런 다음 NSObject를 가져올 수 있으며 구문에 문제가 없습니다. –

+0

당신이 의미하는 바는 확실하지 않지만 아마도 그렇습니다. Object를 사용하여 링크 한 자습서를 무시할 수도 있습니다. 나는 당신이 그것을 참조하는 다른 어떤 사람을 찾는 것을 어려워 할 것이라고 생각합니다. – Ken

6

Objective-C는 단지 언어입니다.

코코아 프레임 워크는 NSObject 기본 클래스를 계층의 루트 클래스로 사용합니다. 다른 구현은 자신의 루트 클래스를 사용합니다.이 경우 자신의 경우 Object 클래스를 사용합니다.

+0

저는 리눅스에 있기 때문에 코코아를 사용하지 않습니다. 그런 다음 gcc에서 GNUstep을 사용합니다. ;) –

3

NSObject에는 Cocoa 프레임 워크의 모든 인프라가 포함되어 있습니다. 즉, Object가 가지지 않는 몇개의 프로토콜에 준거 해, Object가 가지지 않는 특정의 메소드에 응답합니다. 특히 NSObject Class Reference

+0

이 참조를 살펴 보겠습니다. 감사. –

+0

도움이 된 것을 기쁘게 생각합니다! – ennuikiller

관련 문제