2012-06-08 39 views

Trả lời

5

thành viên và các chức năng công cộng tương ứng.

như vậy mà

id object = [[NSObject alloc] init]; 
+ (id)alloc; 
- (id)init; 

đâu NSObject là một Class và id là một đối tượng

Nếu bạn đã từng sử dụng C++, a + tương đương với tĩnh

28

- chức năng là chức năng ví dụ và Các hàm + là các hàm lớp (tĩnh).

Vì vậy, giả sử bạn có một lớp gọi là Person, và các chức năng sau

-(void)doSomething;

+(void)doSomethingElse;

Bạn sẽ gọi các chức năng như sau:

Person *myPerson = [[Person alloc] init];

[myPerson doSomething];

[Person doSomethingElse];

Đây là chi tiết của một mô tả cú pháp, giả sử bạn hiểu khái niệm về lớp vs dụ.

chỉnh sửa:

chỉ để thêm: Trong mục tiêu-C, bạn thực sự có thể gọi một hàm lớp trên một thể hiện, nhưng hiệu quả cũng không khác biệt so với cách gọi nó trên chính lớp (thực chất là biên dịch cho cùng một điều).

Vì vậy, bạn có thể làm

[myPerson doSomethingElse]

Nói chung, bạn sẽ không làm điều này vì nó là khó hiểu và gây nhầm lẫn cho đọc. Tôi chỉ ra nó để bạn sẽ không ngạc nhiên nếu bạn bắt gặp mã như thế này ở đâu đó.

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