2011-06-19 80 views
0

我知道這裏的人可以幫助我處理我的應用程序中的內存警告問題。我有多個對象添加到我的Nib文件,將它們連接到多個IBOutlets,並在我的viewDidUnload和dealloc方法上釋放這些插座,我也將它們設置爲零,但它仍然在「接收到的內存警告= 1級」錯誤後繼續崩潰信息。我使用NWPickerField來處理Nib文件中的對象。iPhone開發內存警告

http://cocoacontrols.com/platforms/ios/controls/nwpickerfield

我只是希望有人在這裏已經使用這個:)感謝和歡呼聲試過!

回答

0

如果您在收到內存警告時崩潰,通常意味着某些內容會被釋放,但它的指針不會設置爲零,您嘗試訪問它,並且崩潰!

像這樣的錯誤可能很難追查。幾種類型: 您可以使用XCode樂器(使用XCode 4中的Build &配置文件) - 特別是「殭屍」(殭屍)來保留死對象的殭屍,但讓我們知道它們何時被訪問。 另一個有用的是觀察點。一旦模擬器運行,右鍵單擊控制檯中的變量,並說'看這個地址'。然後任何導致該內存位置發生更改的代碼行都會在發生時導致斷點。 要嘗試的另一件事就是貫穿所有的ivars,inits和deallocs,並確保你確實得到了每一個案例。

0

正如你在你的問題中提到的。

我也將它們設置爲無,

做適當的內存清理。通過首先調用release函數或delete運算符,然後爲該對象分配nil

+0

「我...釋放這些出口在我的viewDidUnload和dealloc方法,我也將它們設置爲零,」 –

+0

@彼得Hosey:不能讓你在這裏? – Jhaliya

+0

提問者已經釋放對象。 (您是否懷疑他們在發送'release'消息之前分配'nil'?如果是這樣,那麼在您的答案中就不清楚了。) –