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,
Bài viết này sử dụng AI ChatGPT để viết sau đó được lựa chọn, biên tập lại nội dung, chỉ một phần nhỏ các bài là tôi tự viết. Nội dung thể hiện ý chí cá nhân về các vấn đề, giải pháp. Tôi lưu tại website này để học, tra cứu và chia sẻ.
Tôi là Minh, sống tại Hà Nội, kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Các ngôn ngữ yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
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