Trong ứng dụng của tôi, tôi cần trình bày bộ điều khiển chế độ xem. Phương pháp 6.0 để trình bày một bộ điều khiển khung nhìn là presentViewController: animated: completion :. Tôi cũng muốn hỗ trợ 4,3. Trong 4.3 phương thức được gọi là presentModalViewController: animated :. Vì vậy, tôi sử dụng respondsToSelector: để tìm hiểu xem phương pháp được hỗ trợ. Nhưng khi tôi biên dịch ứng dụng cho 6.0 nó mang lại thông điệp cảnh báo nhưKiểm tra phiên bản iOS đưa ra cảnh báo
presentModalViewController: hoạt hình: bị phản đối: thứ nhất bị phản đối trong iOS 6,0
bất cứ ai có thể biết làm thế nào để thoát khỏi cảnh báo này. Tôi cũng không có thiết bị 4.3 để kiểm tra xem nó có hoạt động hay không. Tôi cần phải giả định rằng mã tôi viết nên làm việc trên 4.3.
if([myViewController respondsToSelector:@selector(presentModalViewController:animated:)]){
[myViewController presentModalViewController:anotherViewController animated:YES];
}else{
[myViewController presentViewController:anotherViewController animated:YES completion:nil];
}
Bỏ qua cảnh báo hoặc tắt cảnh báo: http://stackoverflow.com/a/4133201/427309 –