Tôi có một Class (nhưng không có ví dụ) và cần biết nó có phù hợp với một giao thức nhất định không. Tuy nhiên, Class có thể được phân lớp nhiều lần và class_conformsToProtocol () bỏ qua các giao thức được khai báo trên các siêu lớp.
Tôi chỉ có thể sử dụng class_getSuperclass () và kiểm tra đệ quy tất cả các lớp trong hệ thống phân cấp trở lên cho đến khi siêu lớp không. Tuy nhiên, tôi tự hỏi nếu điều đó có thể không hiệu quả đối với các hệ thống phân cấp lớp được lồng sâu, và có thể có một cách tốt hơn để làm điều đó?
Nói cách khác, phương thức NSObject tuân thủ ToProtocol được triển khai tốt nhất bằng cách sử dụng các phương thức thời gian chạy Objective-C để nó tìm thấy các giao thức trên các siêu lớp?
[myObject conformsToProtocol:@protocol(MyProtocol)];
Nếu tôi đang đi đúng hướng với đệ quy đi lên hệ thống phân cấp lớp, hãy cho tôi biết.