2010-04-20 26 views

Trả lời

5

Đồng ý với h4xxr và tôi sẽ chuyển tiếp bạn

http://allseeing-i.com/ASIHTTPRequest/

Đó là một lib tuyệt vời mà có mạnh mẽ Phương thức yêu cầu HTTP cho cả đồng bộ và asynch hoàn thành với các mẫu mã.

+0

liên kết tuyệt vời :) cảm ơn bạn, hữu ích đôi khi :) – balexandre

2

Phụ thuộc vào dữ liệu bạn đang theo dõi. Một cái gì đó đơn giản như thế này là đồng bộ, và là tiện dụng trong từng thời kỳ:

NSURL *url = [NSURL URLWithString:@"http://someaddress.asp?somedatarequest=1"]; 
NSArray *dataArray = [NSArray arrayWithContentsOfURL:url]; 

(tương đương cũng tồn tại cho từ điển)

Trong trường hợp này, hệ thống sẽ chờ đợi một phản ứng từ someaddress.asp - do đó tốt nhất có lẽ để đặt một cái gì đó như thế này vào một sợi nền.

Nếu bạn có quyền kiểm soát các định dạng của dữ liệu ở đầu kia, đây có thể là một cách nhanh chóng và dễ dàng để có được dữ liệu vào một ứng dụng iPhone/iPad ...

Sửa - chỉ muốn nói rõ ràng là không đồng bộ thường là tốt nhất! Không phải chờ đợi xung quanh buộc tài nguyên hệ thống, đặc biệt là nếu máy chủ từ xa đã chết vv ... :)

+2

Chỉ cần nhớ rằng các phương pháp 'NSArray' và' NSDictionary' "ContentsOfURL:" yêu cầu tài nguyên đích phải ở định dạng plist. –

34
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:aURL]; 
NSURLResponse * response = nil; 
NSError * error = nil; 
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error]; 
+0

Đối với tôi, vấn đề với điều này là bạn không thể đọc phản hồi khi nó được tải xuống .. nó có nghĩa là tôi không thể ngắt kết nối sau khi tôi phân tích cú pháp thú vị phần. Làm điều đó với một async là một nỗi đau trong ass nếu tôi phải làm điều đó nhiều lần. –

Các vấn đề liên quan