2013-01-10 6 views
14

thể trùng lặp:
What is the meaning of id?Thuộc tính mục tiêu-C - "id" nghĩa là gì?

mỗi câu hỏi của tôi, tôi rõ ràng là một Noob tại phát triển iOS và Objective-C. Tôi đã làm theo hướng dẫn và tôi có dòng này được khai báo trong giao diện của tôi (.h) triển khai:

@property (strong, nonatomic) id dataObject1; 

"id" có nghĩa là gì?

+0

@ H2CO3 Tôi đã kiếm được một số tiền hợp lý và không tìm thấy câu trả lời. Tôi xin lỗi vì câu hỏi này. – ScoobaSteve

+0

@ScoobaSteve Được rồi, không có cảm xúc khó khăn, tôi đã rất ngạc nhiên ... Nếu bạn cần tài nguyên Objective-C tốt, [điều này có thể hữu ích] (http://gnustep.made-it.com/BG-objc/). –

+2

@HermannKlecker Bạn có nghiêm túc không ... Có thực sự quan trọng khi đăng lên LMGTFY mà bạn cần để phá vỡ lệnh cấm và hộp cam thân thiện cho bạn biết rằng nội dung bạn đăng không được phép? –

Trả lời

11

id là loại đối tượng; loại có thể là NSArray * hoặc int thay thế, ví dụ.

Loại id chỉ định tham chiếu đến bất kỳ đối tượng Mục tiêu-C nào (bất kể lớp của nó).

+18

Không, id không thể là int. Đó là bí danh của NSObject *. Vì vậy, nó có thể là NSArrary * nhưng không phải int. int không có đối tượng nào cả. Đó là một vô hướng. –

+1

Bạn nói đúng, nhưng tôi có nghĩa là để giải thích tuyên bố kiểu '@ property' nói chung - nó là hoàn toàn tốt đẹp để khai báo một thuộc tính với kiểu' int'. – praseodym

+7

@HermannKlecker Không chính xác. Kiểu dữ liệu 'id' là * không * một bí danh của' NSObject * '; đó là một 'typedef' được khai báo trong ** objc.h ** như sau:' typedef struct objc_object { Class isa; } * id; ' – jlehr