2014-03-30 17 views
1

我正在尋找一種方法來查找給定ALAssetsGroupALAsset,它對應於其posterImage如何獲取ALAssetsGroup posterImage的ALAsset?

該組的posterImage屬性只返回CGImage,我想獲取圖像匹配的ALAsset。這可能是enumerateAssetsWithOptions在整個組中,我找不到任何可以匹配或指示哪些資產是海報的屬性。

回答

0

據我所知,沒有這樣的方式。但posterImage通常是ALAssetsGroup中的最新資產(對於ALAssetsGroupAlbum並非如此,對於ALAssetsGroupSavedPhotos總是如此)。文檔中提到了組中資產的順序:

「ALAssetsGroup對象表示由Photos應用程序管理的資產的有序集合。元素的順序與用戶在照片應用程序。資產可以屬於多個資產組「」。

在這個假設下,就可以實現posterImage作爲ALAsset是這樣的:

ALAssetsGroup * group; 
[group enumerateAssetsWithOptions:NSEnumerationReverse usingBlock:^(ALAsset *alAsset, NSUInteger index, BOOL *innerStop) 
{ 
    if (alAsset) // first non-nil element will be the recent asset 
    { 
     * innerStop = YES; 

     // do something with the alAsset 
    } 
}]; 
+0

是有道理的 - 關於當用戶設置了一個相冊/面臨的關鍵照片什麼。我想這是唯一的情況下,我們無法找到海報資產。所有其他時間將是最後一張照片,是嗎? –

+0

您可以測試其他'ALAssetsGroupType's。除了專輯之外,我沒有看到它。 – ismailgulek