2010-12-10 43 views
0

當編譯我的LLVM的應用程序,只是唯一的錯誤,我得到的是:釋放UIViewControllers和LLVM靜態分析

Potential leak of an object allocated on line xxx 

這是響應代碼創建和推動新的UIViewController到一個UINavigationController:

FooViewController *vc = [[FooViewController alloc] initWithNibName:@"FooViewController" bundle:nil]; 
vc.title = @"FooFoo"; 
[self.navigationController pushViewController:vc animated:YES]; 

所以我想這是暗示我把這個最後的行之後:

[vc release]; 

但是,每當我這樣做,它會導致錯誤EXC_BAD_ACCESS。我不明白爲什麼我會釋放它,因爲我希望它留在記憶中,不是嗎?我該如何解決這個問題,以使LLVM編譯器高興?

+0

這是一個泄漏,顯示更多的代碼,看看有什麼不對。或者使用NSZombies來查找糟糕的訪問來自哪裏。 – 2010-12-10 17:46:39

回答

2

您的導航控制器將保留視圖控制器,因此您不需要這樣做。 (即:[vc release];行應該在那裏。)

因此,我猜EXC_BAD_ACCESS存在的問題在別處,但很難說,沒有一些額外的周邊信息。

+0

謝謝,這個問題實際上是因爲我在我的dealoc中雙重釋放了一個屬性 – cannyboy 2010-12-15 15:44:01