2010-05-09 27 views
1

我需要在本地緩存圖片,並想保存爲SerializableDictionaryMonoTouch的序列化的UIImage

SerializableDictionary爲:http://weblogs.asp.net/pwelter34/archive/2006/05/03/444961.aspx

我在想,如果這是

一:處理的好方法緩存圖像(離線模式 - 數據不斷更新,因此首先從網上下載)。

b:我該怎麼做?

我似乎只剩下下面的XML:

<?xml version="1.0" encoding="us-ascii"?> 
<dictionary> 
    <item> 
    <key> 
     <string>http://img.theguidestar.com/thumb/491520.png</string> 
    </key> 
    <value> 
     <UIImage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
     <Handle /> 
     <Size> 
      <Width>0</Width> 
      <Height>0</Height> 
     </Size> 
     </UIImage> 
    </value> 
    </item> 
</dictionary> 

有沒有具體的我應該做的,使其序列圖像本身的東西嗎?

w://

+0

放棄了這一點 - 認爲最好使用原始URL作爲關鍵字和guid作爲文件名,將引用存儲在光盤上的適當文件。作品相當好 w:// – iwayneo 2010-05-10 08:37:04

回答

0

UIImage和CGIMage不允許輕鬆訪問其數據。因此,在XML文檔中序列化圖像相當困難。

您可以採用如下方案:

  • 從網絡檢索圖像並將其存儲在用戶的文檔文件夾中。
  • 將圖像的URL映射到字典中圖像的本地路徑。
  • 使用字典作爲緩存索引來訪問圖像。
+0

這幾乎是我最終做的。 redth hsa更好的圖像緩存在這裏:http://github.com/Redth/MonoTouch.Dialog.UrlImageStore – iwayneo 2010-05-20 07:19:13