如何过滤掉 UIWebView 中的重复请求
Posted
技术标签:
【中文标题】如何过滤掉 UIWebView 中的重复请求【英文标题】:How to filter out duplicate requests in UIWebView 【发布时间】:2011-10-02 16:29:48 【问题描述】:我正在编写一个通过 OAuth 与 Foursquare 集成的 iPhone 应用程序。我能够登录、获取访问令牌并使用 API 端点。我使用UIWebView
登录。
问题在于,每次点击 Web 视图(登录、允许等),都会发出两个相同的请求。因此,当我在获得访问令牌后关闭 Web 视图时,Web 视图的 didFailLoadWithError:
消息会触发,可能是针对第二个(重复)请求。这会导致崩溃和不良行为。
有什么办法可以防止重复请求的发生,或者我可以“过滤”掉它们吗?
【问题讨论】:
【参考方案1】:过滤掉的fa解决方案:您可以在关闭之前将UIWebView
的delegate
属性设置为nil
。
self.myWebView.delegate = nil;
self.myWebView = nil; //retain-property
编辑:但这不会真正阻止UIWebView
通过网络发送第二个请求。这只会以不被通知两次而告终。您必须找出发送第二个请求的原因。
【讨论】:
设置代理工作,谢谢。我不确定是什么导致了重复请求。我的 Facebook OAuth 代码几乎相同,我不需要在那里将委托设置为 nil。仔细检查后,Facebook 序列中也存在重复请求。与 Foursquare 的不同之处在于,最终请求永远不会重复,而 Foursquare 则始终是重复的。以上是关于如何过滤掉 UIWebView 中的重复请求的主要内容,如果未能解决你的问题,请参考以下文章
使用 UIWebView+AFNetworking 时链接如下