我處於從消息列出附件的情況。每個附件都有一個與它關聯的NSURL,它表示附件數據的路徑。在非圖像附件的情況下,我想在預覽位置(即excel文檔,PDF,單詞等)加載預先生成的圖標縮略圖。我可以從XCAssets包中獲取NSURL嗎?
我目前在XCAssets包中的項目中包含這些圖像。我可以使用[UIImage imageNamed:@"someName"]
來得到他們。我似乎無法通過NSBundle的各種資源查找方法獲取它們。 XCAssets軟件包是否以某種方式更改我正在查找的圖標圖像的文件名?
這是我目前正在使用的代碼。路徑每次都是零。在這種情況下,我是否需要不使用XCAssets?
+ (NSURL *)mediaURLWithMessage:(SRMediaMessage*)message
{
NSURL *url = message.mediaURL;
// if this is an image URL or non-existant, there is no work left to do, return it.
if (!url || (message.secureFile.secureFileMimeType & SRSecureFileMimeTypeImage))
return url;
NSString *filename = @"unknown";
switch (message.secureFile.secureFileMimeType)
{
case SRSecureFileMimeTypeDOC:
filename = @"doc";
break;
case SRSecureFileMimeTypePPT:
filename = @"ppt";
break;
case SRSecureFileMimeTypePDF:
filename = @"pdf";
break;
case SRSecureFileMimeTypeXLS:
filename = @"exl";
break;
case SRSecureFileMimeTypeCSV:
filename = @"csv";
break;
case SRSecureFileMimeTypeTXT:
filename = @"txt";
break;
case SRSecureFileMimeTypeRTX:
filename = @"rtf";
break;
default:
case SRSecureFileMimeTypeMP4:
// unknown icon for now.
break;
// unused but available:
// @"ilife"
}
NSString *path = [[NSBundle mainBundle] pathForResource:filename ofType:nil];
if (path)
url = [NSURL fileURLWithPath:path];
return url;
}
這正是我所擔心的。我一直無法找到任何直接的文件來證實這一點,因此這個問題。我可能只需要做這個改變。謝謝。 – slycrel
我從未查看過這些細節,但[UIImage imageNamed:...]仍然適用於資產包中的圖像。 – Holly
而且您實際上可以將文件保存到您喜歡的任何目錄。 :) – Legoless