- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
打电话
connectionInProgress = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
当我断开并重新连接 Internet 到模拟器时。对 initWithRequest: 的一次调用既不会导致 connectionDidFinishLoading:
也不会调用 didFailWithError:
。
我循环调用并获得以下结果(断开连接时)。
DidFailWithError: Fetch failed: The Internet connection appears to be offline.
几秒钟后下一次调用(当互联网重新连接时)。
DidFailWithError: Fetch failed: A server with the specified hostname could not be found.
下次我调用时,两个回调都没有被调用。
最佳答案
我刚刚在 iPhone 模拟器上遇到了同样的问题。
经过 6 小时的调试、谷歌搜索和搜索 stackoverflow,我找到了解决方案:iPhone 模拟器有一个错误! (或者至少这是我的测试所证明的)。
当您从您的 Mac 断开 wifi/互联网电缆试图模拟网络连接消失时,这将不会在 iPhone 模拟器中被模拟!(事实上如果你注意到模拟器上的 wifi 连接图标并没有消失)
我已尝试在我的 iPhone 4 上部署我的应用程序(它也创建了一个 NSURLConnection),如果我将其置于飞行模式,则会调用 didFailWithError!相反,这不会发生在模拟器上!
请注意,我正在使用 Xcode 4.0 并为 iOS 4.3 开发
所以答案是:尝试在真实的 iOS 设备上部署您的应用,它可能会成功!
关于objective-c - 两者都不是 connectionDidFinishLoading : nor didFailWithError: get invoked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5047100/
我需要一些帮助。我正在从另一个类调用登录函数, // Login on server - (BOOL) login:(NSString*) username password:(NSString*)p
我从服务返回的数据多次呈现到我的 UITableView。我移动了将填充我的表的代码放在 connectionDidFinishLoading 委托(delegate)中。这是该代码的正确位置吗? 我
我已经实现了 NSURLConnectionDownloadDelegate、NSURLConnectionDataDelegate 委托(delegate)方法,如下所示。 问题是在 connect
我可以从互联网下载 ZIP 文件。后处理在connectionDidFinishLoading 中完成,并且工作正常,但没有更新UIView 元素。例如,我设置了 statusUpdate.text
我正在使用 NSURLConnection 从 Web 服务下载压缩文件。在 didReceiveData 中,我将数据附加到文件中,并使用良好的互联网连接,所有这些似乎都可以正常工作。该文件在下载时
我有一个 iPad 应用程序,我在其中使用 NSURLConnection 进行异步调用。在某些情况下,我在 connection:didReceiveData: 中收到所有响应数据,但从未调用过 c
我发送了请求,但没有调用方法 connectionDidFinishLoading,为什么? - (void)startHttpRequestWithCookie:(NSArray *)authCoo
我在我的 iOS 应用程序中设置了一个简单的 Objective-C 类,它有一个简单的任务,即下载一个 JSON 文件,解析它,然后传回一个 NSString,其中包含一个从下载的 JSON 文件解
我有一个简单的 JSON 数组,它是从传递给第三方服务的邮政编码返回的。 http://api.geonames.org/findNearbyPostalCodes?postalcode=94115&
我正在下载和解析 JSON 对象以构建“新闻提要”来填充 UITableView。我在 connectionDidFinishLoading 委托(delegate)方法中的最后一行代码是: [tab
我正在开发一个 iOS 应用程序,它会触发一些 NSURL 请求。我创建了一个实现 didReceiveData 的 WebService 类,如下所示: - (void)connection:(NS
我正在尝试使用适用于 Objective-C 的 Google API 客户端库在 youtube 上上传视频,我使用下面给出的代码,但它一直给我这个错误,我试图再次在 youtube 示例项目上运行
所以我想使用 socket.io 开发一个基本的聊天应用程序。我正在使用 this框架,本质上只是 SocketRocket 的包装器。 现在我创建了一个 connectToHost:onPort 并
我在执行下面的代码时遇到了这些错误: [Switching to process 74682 thread 0x2003] [Switching to process 74682 thread 0x2
我下载了在 UITableView 单元格内显示的背景图像。 直到 UITableView 停止滚动后才会显示图像。 我想以更快的方式显示下载的图像。例如,我想在 UITableView 开始减速时执
我在 NSURLConnection 委托(delegate)方法 connectionDidFinishLoading 执行时遇到错误。有趣的是,它可以在模拟器上运行,但在物理设备上会崩溃。更有趣的
背景:在握手过程中,我的 iOS 应用学习服务器能力 在didReceiveResponse中查看其头信息 和 在 connectionDidFinishLoading 中解析其响应 XML> 问题陈
关于“didFailWithError”和“connectionDidFinishLoading” 他们都可以叫吗?或者它总是一个或另一个? 最佳答案 不可以,不能同时调用。 委托(delegate)
在从我的网络服务获取数据之前,我的表正在加载。 当我调试它时,我可以看到我的 NSMutableArray 有 123 个对象,但它没有反射(reflect)在表中。 这是我的connectionDi
我想在另一个类中获取一个类数组数据(即我想在mainview类中获取connectionDidFinishLoading数组数据) 背景类.h #import #import "JSON.h" @i
我是一名优秀的程序员,十分优秀!