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.
Xin chào,
99,99% bài viết tại website là kết quả của khai thác dữ liệu từ AI ChatGPT sau đó được lựa chọn, biên tập lại nội dung, chỉ vài bài là không dùng AI. Tôi lưu tại website này để tra cứu khi cần, để học và để chia sẻ cho bạn bè tôi. Nếu bạn tìm thấy nội dung nào đó khi tìm kiếm thì cứ đọc thoải mái, nó miễn phí, không quảng cáo.
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh