2011-10-07 66 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中的分析命令 - 靜態分析器非常擅長查找內存問題。