Trong Objective-C, các từ khóa có ký tự @ phía trước được sử dụng để định nghĩa các khối mã, đặc điểm, và hạn chế phạm vi của mã. Dưới đây là một so sánh giữa một số từ khóa chính có ký tự @ trong Objective-C:
- @interface:
- Mục Đích: Được sử dụng để bắt đầu định nghĩa một lớp hoặc một giao diện.
- Ví Dụ:
@interface MyClass : NSObject
// Properties and methods go here
@end
@implementation:
- Mục Đích: Bắt đầu định nghĩa triển khai của một lớp, đặc điểm, hoặc một đối tượng.
- Ví Dụ:
@implementation MyClass
// Implementation of methods goes here
@end
@protocol:
- Mục Đích: Được sử dụng để định nghĩa một giao thức, một tập hợp các phương thức mà các lớp khác có thể triển khai.
- Ví Dụ:
@protocol MyProtocol
// Method declarations go here
@end
@property:
- Mục Đích: Được sử dụng để định nghĩa một thuộc tính của một đối tượng, đồng thời tự động tạo các getter và setter.
- Ví Dụ:
@property (nonatomic, strong) NSString *name;
@synthesize:
- Mục Đích: Sử dụng để tạo ra các getter và setter cho một thuộc tính được định nghĩa bằng
@property. - Ví Dụ:
@synthesize name;
@dynamic:
- Mục Đích: Dùng để báo cho trình biên dịch biết rằng getter và setter cho một thuộc tính sẽ được triển khai ở runtime, không phải tại compile time.
- Ví Dụ:
@dynamic name;
@selector:
- Mục Đích: Được sử dụng để chuyển đổi một tên phương thức thành một kiểu dữ liệu
SEL. - Ví Dụ:
SEL mySelector = @selector(doSomething);
Những từ khóa này đều đóng vai trò quan trọng trong cú pháp của Objective-C và giúp định nghĩa cấu trúc, đặc điểm, và hành vi của các lớp và đối tượng.