gpt4 book ai didi

ios - Facebook API - 如何取消图形请求

转载 作者:可可西里 更新时间:2023-11-01 03:05:38 25 4
gpt4 key购买 nike

我偶尔需要取消 FaceBook 图表请求,但他们的 API 中似乎没有取消或类似的方法可以这样做。目前,当我分配给请求的委托(delegate)已被解除分配时,有时会发生崩溃。请问有什么方法可以在提交后取消图表请求吗?

最佳答案

我假设您在谈论 facebook-ios-sdk 项目,以及 Facebook.h 中缺少取消方法。我也注意到了这一点,并最终决定添加我自己的取消方法。请注意,您分配给请求的委托(delegate)不应该被解除分配然后被引用,因为请求保留委托(delegate)。参见 this similar question .现在,如果您发现自己出于某些其他原因确实需要取消方法...

添加取消方法:
Facebook 请求以不透明的方式发出。您永远看不到它们,只能通过 Facebook 类了解结果。在幕后,Facebook 类使用(非公开使用的)FBRequest 类发出 Graph API 请求。这个类基本上是一个奇特的 NSURLConnection 委托(delegate)。因此,要取消请求,只需告知成员 NSURLConnection cancel。将此方法添加到 FBRequest:

// Add to FBRequest.h
- (void)cancel;

还有……

// Add to FBRequest.m
- (void)cancel {
[_connection cancel];
[_connection release], _connection = nil;
}

现在,在 Facebook 类中公开接口(interface)以使用新方法...

// Add to Facebook.h
- (void)cancelPendingRequest;

还有……

// Add to Facebook.m
- (void)cancelPendingRequest {
[_request cancel];
[_request release], _request = nil;
}

这就是它的全部。上述方法将取消最近的请求,您将永远不会再收到它的消息。

关于ios - Facebook API - 如何取消图形请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4958912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com