【问题标题】:How to filter out duplicate requests in UIWebView如何过滤掉 UIWebView 中的重复请求
【发布时间】:2011-10-02 16:29:48
【问题描述】:

我正在编写一个通过 OAuth 与 Foursquare 集成的 iPhone 应用程序。我能够登录、获取访问令牌并使用 API 端点。我使用UIWebView 登录。

问题在于,每次点击 Web 视图(登录、允许等),都会发出两个相同的请求。因此,当我在获得访问令牌后关闭 Web 视图时,Web 视图的 didFailLoadWithError: 消息会触发,可能是针对第二个(重复)请求。这会导致崩溃和不良行为。

有什么办法可以防止重复请求的发生,或者我可以“过滤”掉它们吗?

【问题讨论】:

    标签: objective-c ios cocoa-touch uiwebview foursquare


    【解决方案1】:

    过滤掉的fa解决方案:您可以在关闭之前将UIWebViewdelegate属性设置为nil

    self.myWebView.delegate = nil;
    self.myWebView = nil; //retain-property
    

    编辑:但这不会真正阻止UIWebView 通过网络发送第二个请求。这只会以不被通知两次而告终。您必须找出发送第二个请求的原因。

    【讨论】:

    • 设置代理工作,谢谢。我不确定是什么导致了重复请求。我的 Facebook OAuth 代码几乎相同,我不需要在那里将委托设置为 nil。仔细检查后,Facebook 序列中也存在重复请求。与 Foursquare 的不同之处在于,最终请求永远不会重复,而 Foursquare 则始终是重复的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2019-10-30
    • 2018-11-01
    • 1970-01-01
    • 2016-09-09
    • 2019-01-12
    相关资源
    最近更新 更多