2011-08-29 25 views
13

Hiện tại, tôi đang thực hiện NSURLConnection bất cứ khi nào mySearchBar.text thay đổi. Tôi đang gặp sự cố khi người dùng nhập văn bản quá nhanh, số respondData bị hỏng.Dừng hiện tại NSURLConnection

Vì vậy, tôi đã tự hỏi liệu có cách nào để kiểm tra xem có phải NSURLConnection vẫn đang tải không? Nếu có, Làm cách nào để thả kết nối hiện tại và bắt đầu kết nối mới?

+0

Bạn đã thử trong chế độ EDGE chưa? – filou

Trả lời

27

Thêm một tài sản cho NSURLConnection đó và trước khi bắt đầu kết nối mới, làm:

[self.conn cancel]; 
self.conn = nil; 
+0

Đồng thời kiểm tra xem đó có phải là không. –

+2

@PraveenS không cần phải kiểm tra nếu nó là nil, gửi một tin nhắn đến nil sẽ không làm tổn thương. –

+1

Yup không cần thiết nhưng anh ấy muốn biết liệu kết nối có còn sống hay không. Do đó kiểm tra nil :-). –

0

Bạn có thể thử sử dụng yêu cầu không đồng bộ. Một thư viện tốt cho cuộc gọi như vậy là ASIHTTPRequest.

đặt [request cancel]; bất cứ khi nào bạn cần thực hiện một yêu cầu mới khác.

+2

NSURLConnection hỗ trợ các yêu cầu không đồng bộ và có phương thức hủy, vì vậy ASIHTTPRequest sẽ là một chút quá mức cần thiết. –

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