2011-12-29 55 views
0

當我嘗試使用NSURL獲取UITableView中的圖像
UIImage image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://mysite.com/mobile/abc.jpg]]];
我的應用程序凍結,直到圖像加載。另外,當我滾動表格時,它再次從服務器獲取圖像,並滾動一段時間。
我知道這是因爲從服務器同步下載圖像。
是否有任何解決方案,以便我可以從服務器異步下載映像並將其存儲在本地或緩存中,這樣當表滾動時它不會再從服務器獲取映像。從iPhone中的服務器UITableView異步顯示圖像

感謝

回答

2

請通過enormego查看EGOImageLoading。像UIImage一樣工作(並緩存圖像),但可以讓您異步加載HTTP。

+0

感謝Keller的回覆。我明天會檢查這個,但從文檔看它會做我的工作。 – 2011-12-29 19:24:05

+0

謝謝凱勒,你太棒了。 – 2011-12-30 11:52:00

+0

沒問題,狂歡! – Keller 2011-12-31 23:42:33

0

您可以創建自己的類,它充分利用了NSURLConnection和它的各種異步方法來在後臺加載您的圖像,然後有一個回調在單元格中顯示。

但是,有一些優秀的庫正是你所描述的。 HJCache是我爲此唯一用途而推薦的一款

+0

謝謝蘇哈爾給你快速回復。我會查找HJCache庫。如果您爲我提供一些代碼,將其與表格視圖和緩存圖片集成在一起,以便滾動表格更平滑,這會非常有幫助。 – 2011-12-29 18:10:39

+0

網頁上有標題爲「如何使用HJCache」的部分介紹了您需要爲其工作的所有內容。還有一個演示應用程序,它在Github頁面上運行得非常順利:https://github.com/markofjohnson/HJCache – 2011-12-29 18:13:06