NHỮNG THỦ THUẬT TRONG LẬP TRÌNH IOS (P7)

Share:

Networking

Hầu như tất cả các ứng dụng đều không hoạt động đơn lẻ. Các ứng dụng thường cần được kết nối với thế giới bết ngoài qua giao thức HTTP. Có lẽ đây là một RSS Feed mà bạn cần để phân tích cú pháp hiển thị một cái news feed, hoặc đây chính là một REST API tùy biến mà bạn triển khai để chia sẻ dữ liệu với những người dùng khác là một ví dụ. Vì thế bạn sẽ cần sử dụng những Networking API để thực hiện điều này.

iOS SDK có một bộ phân tích cú pháp Networking và JSON được tích hợp sẵn. Tuy nhiên việc sử dụng nó sẽ không thể khiên bạn hài lòng với một đoạn code hoàn hảo. Ví dụ sau đây sử dụng API chính gốc để gọi một HTTL URL không đồng bộ và phân tích cú pháp phản hồi của JSON:

Nhìn lên phía trên của vấn đề, bạn cần phải triển khai những phương pháp thay thế:

Như bạn đã thấy đấy, bạn cần phải triển khai rất nhiều thao tác callbacks chỉ đơn giản để điều chỉnh một phản hồi HTTP đơn lẻ. Rất may là một thiên tài tên là Matt Thompson đã tạo ra một framework sử dụng trên iOS mang tên AFNetworking có thể giúp mọi việc trở nên dễ dàng hơn. AFNetworking có thể sử dụng như là một “pod” (xem lại phần cocoapods ở phần một series này)

Sử dụng AFNetworking, tất cả các ví dụ về code ở trên có thể được thay thế bởi đoạn code sau:

Giao thức HTTP vẫn được coi là điều khiển không đồng bộ, tuy nhiên thay vì sử dụng những phương pháp thay thế, nó sử dụng các khối và rất ít code. JSON cũng sẽ tự động phân tích cú pháp cho bạn. Bên cạnh đó, AFNetworking có hàng triệu tính năng khác như là tải lên nhiều file một lúc, tải file, gửi yêu cầu hàng loạt và rất nhiều tính năng đáng giá. Nó thậm chí cũng cung cấp một “hệ quản lý truy cập mạn”, ví dụ nó có thể xác định có internet hay không. Lúc này chắc hẳn bạn đã biết được tại sao có rất nhiều framework trên iOS rồi phải không.

Share:

Leave a reply