Có cách nào để tự động phát hiện từ bên trong lớp con nếu nó ghi đè phương thức cha mẹ của nó không?Mục tiêu-C phát hiện nếu lớp ghi đè phương pháp kế thừa
Class A {
- methodRed;
- methodGreen;
- methodBlue;
}
Class B inherits A {
- methodRed;
}
Từ ví dụ trên tôi muốn biết nếu lớp B có thể tự động phát hiện rằng chỉ -methodRed;
được ghi đè.
Lý do tôi tự hỏi về cách tiếp cận này so với một số khả năng khác là bởi vì tôi có hàng chục lượt xem tùy chỉnh sẽ thay đổi diện mạo đó. Nó sẽ là ít hơn rất nhiều mã nếu tôi có thể tự động phát hiện các phương pháp ghi đè so với theo dõi.
Cảm ơn bạn đã cập nhật, điều này là tốt! Tôi sẽ cho bạn một phiếu bầu khác nhưng tôi đã tặng bạn một lá phiếu. – cnotethegr8
bất kỳ ai sử dụng mã này nên '#import' –
cnotethegr8
Thậm chí đơn giản hơn: 'class_getMethodImplementation()' có thể thay thế hai chuỗi cuộc gọi ở trên và có thể nhanh hơn trong một số trường hợp. Xem https://developer.apple.com/documentation/cocoa/reference/objcruntimeref để biết chi tiết. –