Tôi đang làm việc với SDK của iOS Facebook 3 và tôi đang cố gắng sử dụng nó với cách tiếp cận hiệu quả hơn. Vì vậy, tôi muốn quản lý một số yêu cầu trong các chuỗi riêng biệt.Yêu cầu FB không đồng bộ với khối trong vấn đề chuỗi riêng lẻ
Ví dụ yêu cầu này (hoạt động hoàn hảo):
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
dispatch_async(queue, ^{
[self generateShareContentFor:ShareServiceTypeFacebook
callback:^(NSMutableDictionary* obj)
{
FBRequest * rq = [FBRequest requestWithGraphPath:@"me/feed"
parameters:obj
HTTPMethod:@"POST"];
[rq startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
// TREATING RESULT
[[UFBManager defaultManager] errorHandlerFromError:error
fromRqType:UFBManagerRqTypePost];
});
}];
}];
});
Tôi đang sử dụng cái này để viết một cái gì đó về thức ăn chăn nuôi tôi, tôi gọi một phương thức để nạp nội dung của yêu cầu này tự động và sau đó khối này sẽ được gọi trong phương thức để khởi chạy yêu cầu. Cái này hoạt động tốt.
Vấn đề là nếu tôi không đặt yêu cầu này bên trong một khối, điều đó không hiệu quả.
Yêu cầu này không hoạt động
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0);
dispatch_async(queue, ^{
FBRequest * rq = [FBRequest requestForMe];
[rq startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
// TREATING RESULT
[[UFBManager defaultManager] errorHandlerFromError:error
fromRqType:UFBManagerRqTypeGet];
});
}];
});
Tôi đang cố gắng tìm ra, nhưng tôi không hiểu vấn đề là gì. Cảm ơn trước vì sự giúp đỡ của bạn.
Bạn sẽ phải cung cấp thêm một số thông tin. Bạn có ý nghĩa gì bởi "không hoạt động"? –
Cảm ơn câu trả lời của bạn Christopher, và xin lỗi vì thiếu thông tin. Khi tôi cố gắng gỡ lỗi yêu cầu thứ hai này, tôi có thể đăng nhập cho đến khi khai báo * rq, nhưng tôi không có bất kỳ trở lại nào của khối xử lý hoàn thành được khai báo khi khởi động phương thức startCompletionHandler –