2011-10-10 150 views
0

對於那些試圖閱讀這個問題的人來說,我和喬納斯之間進行了廣泛的討論,並且問題在討論過程中發生了幾次變化,所以我們在這裏重申的所有內容都沒有用處。如果您在閱讀崩潰日誌時遇到問題,請參閱關於stackoverflow的this問題!感謝您的理解。如何閱讀這個崩潰日誌?

喬納斯:下面的代碼片段,我指的是在我最後的評論:

if ([performance.favorites integerValue] == 1) { 
     UIImage *starImage = [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"fav-star" ofType:@"png"]]; 

     cell.favoritesImage.image = starImage; 
    } 
    else 
    { 
     cell.favoritesImage.image = nil; 
    } 

所以如果執行else塊,是否會令[favoritesImage release]呼叫崩潰,如果一個TableViewCell未顯示收藏夾圖像正在被釋放?

所以,我可以簡單地將它放到零,而不是添加一個隨機圖像與阿爾法設置爲0具有相同的效果,但沒有任何內存泄漏?

+0

我想回答你的問題在這個職位描述:[Symbolicating iPhone應用程序崩潰報告] [1] [1]:http://stackoverflow.com/questions/1460892/symbolicating- iphone-app-crash-reports –

+0

我正在看那篇文章,但我不明白該怎麼做,因爲我主要是一個Windows用戶,因此不習慣終端和這樣的事情..: - /但我會嘗試.. – Octoshape

+0

我真的試過..我存檔了應用程序,得到了dSYM文件和應用程序文件,從模擬器中獲得了一個崩潰日誌,並將它們放到一個文件夾中,然後嘗試第二次回答您發佈的問題,它不起作用..請幫助:/ – Octoshape

回答

0

「閱讀」崩潰報告並不總是那麼容易。 你發送的兩個不會顯示任何「自己編碼」的方法。

而你有「EXC_BAD_ACCESS」,所以我幾乎會說:「這是一個內存釋放/保留問題」: 你可能會提早發佈一些UITableView。

你是否檢查過UITableViewCell是否是正確的autoreleased? UITableViewCell中的所有子視圖和對象在autorelease上還是至少未釋放到0?

更多細節:

1)我絕不會通過創建NIB/XIB一個UITableViewCell子類。你失去了很多的表現。我建議你通過編碼來創建UITableViewCell子類。請記住:XIB(xml)的縮減需要時間,當您滾動瀏覽UITableView時,可能會出現難以辨認的壓縮。

2)您有內存問題:請檢查:How do you load custom UITableViewCells from Xib files? autorelease不是正確的。

+0

嗯..我使用自定義tableview單元格,他們都有標籤和東西,保留和簡單釋放「dealloc」..會導致問題嗎?我可以發佈代碼,如果你喜歡 – Octoshape

+0

我不是100%確定它是否是釋放/保留崩潰(但95%,;))。當你發佈一些更多的代碼,我可以看看它。 –

+0

那麼你想要我發佈哪些代碼? – Octoshape