Tôi đang lặp qua một NSArray chứa nhiều loại đối tượng khác nhau. Có rất nhiều phương pháp để tìm ra đối tượng lớp là gì. Tuy nhiên, tôi đã không thể tìm thấy một cách tốt để tìm hiểu xem một đối tượng có thể thực hiện một chức năng cụ thể hay không. Tôi có thể đặt nó trong một try-catch nhưng nó vẫn sẽ xuất ra một thông báo lỗi trong giao diện điều khiển ngay cả khi tôi đang bắt lỗi. Có cách nào tốt hơn để làm điều này?Làm cách nào để tìm hiểu xem một đối tượng có thực hiện một phương pháp cụ thể không?
đơn giản ví dụ:
@try {
if ([element lowercaseString]) {
//do something
}
}
@catch (id theException) {
// do something else
}
Kiểm tra respondsToSelector như nhiều người có đã trả lời. Trong mục tiêu-C nó không phải là phong cách tốt (theo ý kiến của tôi và nhiều người khác) để sử dụng các ngoại lệ để kiểm soát luồng chương trình ngoại trừ các lỗi trong lập trình. Vì bạn đang kiểm tra xem một phương thức tồn tại trong trường hợp này, nó không thích hợp. – Abizern