Có thể tìm thấy vị trí trong phân cấp lớp mà phương thức được truy xuất bởi class_getInstanceMethod
đến từ đâu không? Ví dụ, nói Class A thực hiện myMethod. Bây giờ nói rằng tôi đã phân loại lớp A trong lớp A1. Nếu tôi gọi class_getInstanceMethod(ClassA1, myMethod)
, có thể cho biết liệu phương pháp kết quả đã bị ghi đè trong ClassA1 hoặc trực tiếp từ A1 không?Sử dụng class_getInstanceMethod - phương thức được triển khai trong hệ thống phân cấp lớp ở đâu?
Tôi cho rằng nó sẽ có thể để so sánh các địa chỉ bộ nhớ của IMP nếu bạn có quyền truy cập vào cả hai ClassA và ClassA1, nhưng tôi không có quyền truy cập trực tiếp đến A.
này là tuyệt vời –
này sẽ thất bại cho các đối tượng mà không phân lớp 'NSObject', chẳng hạn như' NSProxy'. Chỉ cần một lưu ý. –
@ RichardJ.RossIII Xem cập nhật. :) –