2009-10-19 37 views
7

Tôi đang học Objective-C và như tôi có thể thấy, trong một số hướng dẫn họ sử dụng Object (được nhập từ objc/Object.h) và trong những người khác tôi thấy việc sử dụng NSObject (được nhập từ Foundation/NSObject.h), nhưng sự khác biệt chính giữa chúng là gì?Sự khác biệt giữa đối tượng và NSObject

Trân trọng.

+0

Bạn có thể cho chúng tôi liên kết đến một trong những hướng dẫn sử dụng Object không? –

+0

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

Trả lời

6

Bạn nên bỏ qua Đối tượng.

Mục tiêu-C cho phép nhiều lớp gốc. Đối tượng là một lớp gốc có trước NSObject. Nó không bao giờ là thứ bạn muốn sử dụng. Nó chỉ có liên quan khi một cái gì đó bằng cách nào đó đã tương tác với Object, vì vậy bạn phải đối phó với nó. Điều này rất hiếm.

Đối tượng không triển khai -retain-release chẳng hạn.

+0

Sau đó, tôi có thể nhập NSObject và tôi sẽ không có bất kỳ vấn đề nào với cú pháp? –

+0

Không hoàn toàn chắc chắn ý bạn là gì, nhưng có lẽ là có. Bạn cũng có thể bỏ qua hướng dẫn bạn đã liên kết sử dụng Object. Tôi nghĩ rằng bạn sẽ có một thời gian khó khăn tìm kiếm bất kỳ người nào khác đề cập đến nó. – Ken

6

Mục tiêu-C chỉ là ngôn ngữ.

Khuôn khổ Cocoa sử dụng lớp cơ sở NSObject làm lớp gốc cho cấu trúc phân cấp. Các triển khai khác sử dụng các lớp gốc của riêng chúng, trong trường hợp của bạn là lớp Object.

+0

Tôi không sử dụng Cocoa, vì tôi đang sử dụng Linux, sau đó tôi sử dụng GNUstep với gcc. ;) –

3

NSObject chứa tất cả cơ sở hạ tầng của khung công tác Cocoa. Nói cách khác, nó tuân theo một số giao thức mà Object không và sẽ trả lời một số phương thức mà Object sẽ không. Cụ thể, hãy xem NSObject Class Reference

+0

Tôi sẽ xem xét tham chiếu này. Cảm ơn. –

+0

Rất vui khi được giúp đỡ! – ennuikiller

Các vấn đề liên quan