Lời giải thích dứt khoát này của Apple là ở đây, dưới sự 'Phương pháp và Tin nhắn' phần:
https://developer.apple.com/library/mac/referencelibrary/GettingStarted/RoadMapOSX/books/WriteObjective-CCode/WriteObjective-CCode/WriteObjective-CCode.html
Tóm lại:
+ có nghĩa là 'phương pháp lớp'
(phương thức này có thể được gọi mà không có một thể hiện của lớp được khởi tạo). Vì vậy, bạn gọi nó là như thế này:
[className classMethod];
- có nghĩa là 'phương pháp dụ'
Bạn cần tạo một đối tượng đầu tiên, sau đó bạn có thể gọi phương thức trên đối tượng).Bạn có thể tự tạo một đối tượng như thế này:
SomeClass* myInstance = [[SomeClass alloc] init];
(điều này chủ yếu phân bổ không gian bộ nhớ cho các đối tượng sau đó initalises đối tượng trong không gian đó - một sự đơn giản hóa nhưng một cách tốt để suy nghĩ về nó Bạn có thể alloc và init. đối tượng riêng rẽ nhưng không bao giờ làm điều này - nó có thể dẫn đến các vấn đề khó chịu liên quan đến con trỏ và quản lý bộ nhớ)
Sau đó gọi phương thức Ví dụ:
[myInstance instanceMethod]
Một cách khác để có được một thể hiện của một đối tượng trong Objective C là như thế này:
NSNumber *myNumber = [NSNumber numberWithInt:123];
được gọi 'numberWithInt' lớp phương pháp của lớp NSNumber, mà là một phương pháp 'nhà máy' (I E một phương thức cung cấp cho bạn một 'cá thể đã sẵn sàng' của một đối tượng).
Objective C cũng cho phép tạo ra các trường hợp đối tượng nhất định trực tiếp sử dụng cú pháp đặc biệt, như trong trường hợp của một chuỗi như thế này:
NSString * myStringInstance = @ "abc";
Nguồn
2015-10-15 20:46:04
Nó gần như là nếu thêm năm ký tự "tĩnh" bằng cách nào đó quá nhiều cho chúng. –
Liên kết tới tài liệu: http://developer.apple.com/mac/library/DOCUMENTATION/Cocoa/Conceptual/ObjectiveC/Articles/ocDefiningClasses.html#//apple_ref/doc/uid/TP30001163-CH12-TPXREF122 – Seth
@Seth: Cảm ơn, tôi đã tìm kiếm liên kết đó nhưng không tìm thấy. –