2010-10-12 26 views
0

我處於一個奇怪的困境。我有一個clsA類,它有一些方法。我在其他類中創建ClsA的實例並訪問clsA的方法。我已經在頭文件中聲明瞭clsA的對象,並且同時寫這兩行。內存意外釋放

clsAobj = [[clsA alloc] init]; 
[clsAobj someemethod]; 

的問題是,雖然第1行的執行之後調試調試器顯示內存分配給clsAobj但第二線的執行之後,所分配的存儲器丟失和變爲0x0。訪問ClsA的任何方法時都是如此。

有人能幫助我瞭解這個難題嗎?謝謝 。

+0

你的init方法是什麼?你需要把更多的細節放在關於clsA的類中。 – Ben 2010-10-13 01:11:48

回答

0

很難說沒有看到clsA和someemethod是如何實現的。我最好的猜測是clsA的init或alloc方法返回nil(在第一行之後使clsAobj爲零,而不是第二行),但是沒有看到更多的代碼,它會給你提供更詳細的反饋會很困難。

0

您是否正在調試優化代碼?這可以解釋你所看到的;編譯器已經對參考進行了優化,因爲它不再需要。

或者,您的return self在您的init方法?