Я в ситуации, когда я перечисляю вложения из сообщения. Каждое вложение имеет связанный с ним NSURL, который представляет собой путь к данным вложения. В случае прикреплений без изображения я хочу загружать предварительно созданные пиктограммы значков вместо предварительного просмотра (то есть Excel, PDF, word и т.д.).
В настоящее время у меня есть эти изображения в моем проекте, в комплекте 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;
}