2011-10-07 68 views
1

iPad开发,iOS 4.3,objective-c,xcode 4.1。iOS xcode,Web服务,NSURLConnection第二次调用失败

我创建了一个包装类,用于调用Web服务上的方法。当我进行第一次通话时它工作正常,但在随后的通话中失败。

我的类“runMethod ::”中的方法打开NSURLConnection并异步执行调用,包装类本身作为NSURLConnection委托。

我已经阅读过某处,Android存在一个错误,它会保持连接池。当您尝试第二次建立连接时,由于先前的连接一直保持打开状态,因此尽管代码已关闭,但仍失败。因此,我怀疑问题在于连接仍在池中,当我尝试创建另一个连接时,它会发生冲突?也许xcode有类似的问题?

而失败的症状是在一个代理选择器中的随机行上看似随机的“不良访问”,这表明这与线程有关 - 我知道HTTP连接在其自己的线程上运行。

如果需要,我可以提供完整的包装类,但任何人有任何想法?

+0

你的包装是单身类吗?你是否在每个请求中创建一个NSURLConnection dor?也许有些代码会帮助是的:) – Zoleas

+0

对不起,我花了很多年复制冗长的包装类到昨天的文章,然后它都丢失了,当我发布。 –

+0

...并回答你的其他观点,我不确定什么是单身人士课程。是的,我在每次调用时创建一个NSURLConnection,并在异步响应时关闭它。 –

回答

0

“访问不良”错误仅表示您正在取消引用无效指针。这通常是由于不正确的内存管理,例如未能保留某些对象。代码会有所帮助,但首先尝试Xcode中的分析命令 - 静态分析器非常擅长查找内存问题。