2012-09-02 59 views
1

我是新來的iOS ,,我在下面的行如何解決EXC_BAD_ACCESS

nextscrn.fullTextValue=self.fulltextFromSecond;

這nextscrn對象以這種方式創建上面這一行有一個EXC_BAD_ACCESS例外。

ImageVisible *nextscrn=[[ImageVisible alloc]initWithNibName:nil bundle:nil];

任何一個可以給我解釋一下究竟是什麼原因,我怎麼能解決這個問題。

感謝

回答

1

如果nextscrn.fullTextValue=self.fulltextFromSecond;就是你得到的例外則幾乎可以肯定的nextscrn或一個行。 self被設置爲無效指針。

第一步是確定它是哪一個,然後找出它爲什麼會這樣。

確定問題的一種方法是使用調試工具(可能是最好的方法)。如果這是不可能的,你可以嘗試這樣的:

void *xyzzy = self.fulltextFromSecond; 

,看看是否崩潰(我用void *因爲我不知道什麼類型的self是,但你可能要代替「真實」類型)。

如果發生這種情況,說明self已損壞,但我認爲這種可能性最小。如果不是,請嘗試類似的方法nextscrn.fullTextValue

+0

in nextscrn的fullTextValue我已經定義爲非原子,保留在self.fulltextFromSecond中也是非原子的,保留。兩者都是在dealloc方法中合成併發布的。這個 – iDia

+0

@saj會是什麼原因,首先檢查他們的值,看看他們是否理智。並且請注意,這不僅是有意寫入可能導致錯誤值的變量。內存損壞可能會導致很多意想不到的原因,如緩衝區溢出。第一步(如我所說),找出哪一個是問題。 – paxdiablo