2011-06-06 35 views
3

我正在開發一種應用程序,它是一種聯繫人列表。該列表每次應用程序啓動時都會更新。 列表中的每個聯繫人都有自己的照片。此列表的一部分對於此應用程序的每個用戶都是常見的。對於這部分,我已經有了所有需要的照片,並且我將它們包含在捆綁包/存檔(將發送給Apple)中。 新聯繫人的圖片(在應用程序的生命週期中添加)是從遠程服務器下載的(使用ASIHTTPRequest)。但我不知道如何輕鬆處理這些下載的圖片。添加下載資源(圖片)到捆綁?

我正在尋找一種方式將這些下載的圖片添加到主束,所以我可以用打電話給他們:

+ (UIImage *)imageNamed:(NSString *)name 

你有沒有對這種事情的良好做法的任何想法? 如果新資源無法添加到主包中,您的建議是什麼?

再次感謝您的幫助!

kheraud

+0

kheraud,我有類似的情況,因爲我是下載一些圖片,我想用imageNamed這樣纔有利於緩存。你有沒有想出一個解決方案? – dqa 2011-08-10 17:17:57

+0

不,我使用imageWithContentsOfFile創建了靜態loadImageFromBundleOrFolder。但我不使用緩存來檢索文件夾中的圖像 – iwalktheline 2011-08-10 17:22:36

回答

1

只能將文件添加到應用程序的Documents目錄。您的應用程序發佈後,主包不能修改。閱讀有關如何寫入目錄的文檔。

Edit_:這會幫助你上手http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/StandardBehaviors/StandardBehaviors.html%23//apple_ref/doc/uid/TP40007072-CH4-SW6

+0

感謝您的網址。你有使用「+(UIImage *)imageNamed:(NSString *)name」來檢索下載文件的標準/常用方法嗎?我想一個普通的機制是內置的,不需要創建它自己的目錄尋找... UIImages功能包括緩存系統,我也會受益。 – iwalktheline 2011-06-06 19:55:49

+0

我不知道我是否正確。但要使用imageNamed檢索圖像,必須將文檔目錄的路徑附加到圖像的文件名。這非常簡單,通過使用格式化的NSString([[NSString alloc] initWithFormat:@「%@%@」,docDirectoryPath,imageFilename]),並在imageNamed:方法調用中使用該字符串。那是你在找什麼? – 2011-06-06 20:01:43

+0

實際上,imageNamed函數允許爲圖片加載一個緩存系統。但是,「該方法在應用程序的主包中查找具有指定名稱的圖像」。所以我想知道是否有一種方法可以利用下載的圖像從這個緩存系統中受益。看來你不能將圖像添加到主包...所以,你不能使用imageNamed方法...所以你不能'利用這種方法帶來的緩存系統?任何選擇? – iwalktheline 2011-06-06 20:06:51

1

我在做類似的事情,一個應用程序,並在過去,我已經使用了夫婦的UIImage不同類別的。

對於當前版本,我正在尋找https://github.com/rs/SDWebImage,但是我在這之前版本https://github.com/jaanus/UIImageViewCached中使用這個版本的確很好。爲了我的目的,我從URL下載圖像,然後緩存它們以用於TableView。

HTH

+1

8個月後,我得出了同樣的結論:SDWebImage是最簡單的解決方案。 – iwalktheline 2012-01-27 14:30:20