Video: Những Mẹo Nhỏ Giúp Bạn Tăng Chiều Cao Đáng Kể 2025
Trong phát triển ứng dụng iOS, Objective-C cho phép bạn thêm các phương pháp của riêng bạn vào các lớp học hiện có các lớp học mà bạn đã không viết Thêm các phương pháp bổ sung vào một lớp học là hữu ích trong trường hợp hành vi mới chỉ được sử dụng trong các tình huống nhất định
Ví dụ, bạn có thể thấy rằng một ứng dụng cụ thể (nói, một kiểm tra palindrome) cần phải đảo ngược khá nhiều bất kỳ chuỗi nó là đối phó với nó Nó có thể làm cho chương trình của bạn quá phức tạp để tạo ra subclass của riêng bạn của NSString với các phương pháp đảo ngược bổ sung.Thay vào đó, bạn có thể tìm thấy nó rất thuận tiện để thêm các hành vi mới vào ban đầu class
Lưu ý bạn không thể sửa đổi giao diện ban đầu hoặc thực hiện NSString bởi vì nó là một lớp khung và bạn không có mã nguồn.Tuy nhiên, bạn có thể mở rộng Lớp NSString (hoặc bất kỳ lớp nào khác) bằng cách xác định một loại mới. Trong tệp PostfixAll. sẽ thấy rằng lớp NSString đã được mở rộng với một phương pháp có tên đảo ngược như sau:
@interface NSString (ReversibleString) - (NSString *) đảo ngược; -d
Như bạn thấy, xác định một thể loại rất giống với việc định nghĩa một giao diện cho một lớp. Trong thực tế, việc cung cấp một sự thực hiện cho các phương thức của một loại cũng rất giống với việc cung cấp sự thực hiện cho một lớp trong các phương pháp được bao gồm trong một khối @implementation. Bạn có thể thấy khối thực hiện cho danh mục bên dưới (trong tệp PostfixAll. M):
thực hiện NSString (ReversibleString) - (NSString *) ngược lại (NSMutableString * reversedString = [[NSMutableString alloc] init]; int stringLength = tự. chiều dài; cho (int i = stringLength-1; i> = 0, i--) (NSString * oneCharString = [tự substringWithRange: NSMakeRange (i, 1)]; Cuối cùng,
sử dụng của một phương pháp được xác định trong một loại không khác với việc sử dụng bất kỳ phương pháp khác, như có thể nhìn thấy từ đoạn mã sau lấy từ chức năng chính của PostfixAll. m:
