Tôi biết câu hỏi này sẽ xuất hiện là một bản sao của nhiều người khác, tuy nhiên, tôi không cảm thấy trường hợp đơn giản được giải thích rõ ở đây. Đến từ nền tảng Android và BlackBerry, khiến các yêu cầu thông qua HTTPUrlConnection
thất bại ngay lập tức nếu không có kết nối. Điều này có vẻ giống như hành vi hoàn toàn lành mạnh và tôi đã ngạc nhiên khi thấy NSURLConnection
trong iOS không mô phỏng nó.
Tôi hiểu rằng Apple (và những người khác đã mở rộng nó) cung cấp một Reachability
lớp để hỗ trợ xác định trạng thái mạng. Tôi rất vui khi lần đầu tiên nhìn thấy điều này và hoàn toàn mong đợi sẽ thấy một cái gì đó giống như vậy bool isNetworkAvailable()
, nhưng thay vào đó tôi ngạc nhiên khi thấy một hệ thống phức tạp đòi hỏi phải đăng ký thông báo và gọi lại, và một loạt các chi tiết dường như không cần thiết. Phải có cách tốt hơn.
Ứng dụng của tôi đã duyên dáng xử lý các lỗi kết nối, bao gồm cả không có kết nối. Người dùng được thông báo về sự cố và ứng dụng sẽ tiếp tục.
Do đó, yêu cầu của tôi rất đơn giản: Hàm đơn, đồng bộ Tôi có thể gọi trước tất cả các yêu cầu HTTP để xác định xem tôi có nên thực sự gửi yêu cầu hay không. Lý tưởng nhất là nó không yêu cầu thiết lập và chỉ trả về một boolean.
Điều này thực sự không thể có trên iOS?