2010-11-08 38 views
0

我有一個UIImage,我用我的應用程序作爲分組UITableViews的背景圖像。共享UIImageView的整個應用程序的背景圖像 - Singleton屬性

我認爲,爲了提高效率,我會在我的appDelegate中使用我的UIImage分配和初始化UIView,然後訪問整個應用程序。這樣,我只會分配一次imageView,如果我鑽入一個帶有多個表視圖的導航堆棧,我不需要擔心釋放和恢復圖像,因爲我在每一步都會下降或上升或者開銷。

只要我嘗試這個,我注意到,似乎UITableView類釋放我的共享圖像降到0,因此它將消失。完美的感覺,但我需要防止圖像從來沒有達到0保留計數這個工作。

這是一個完全愚蠢的方法?

如果不是保留我的共享ImageView的最佳方式是什麼?我知道我可以在設置每個tableview的backgroundimage時調用retain,但是我想知道是否有方法將appDelegate中的共享UIImageView的保留計數設置爲NSUIntegerMax。我之前已經設置了單例類,但在這種情況下,我試圖擁有一個永遠不會釋放的屬性,而不是創建UIImageView單例子類。

對不起,如果這有點混亂,並感謝任何指針。

回答

2

我不會太擔心+ (UIImage *)imageNamed:(NSString *)name被緩存。 從規格:

此方法在系統緩存中查找具有指定名稱的圖像對象,並返回該對象(如果存在)。如果匹配的圖像對象不在緩存中,則此方法從指定的文件加載圖像數據,將其緩存,然後返回結果對象。

+0

謝謝。與往常一樣,基於本能而不是對問題做出反應的過早優化證明是危險的。 – Nick 2010-11-08 16:14:41