将 URL 数组转换为 xcode 中的图像 url 数组
Posted
技术标签:
【中文标题】将 URL 数组转换为 xcode 中的图像 url 数组【英文标题】:Convert Array of URLs to array of image urls in xcode 【发布时间】:2013-03-12 04:02:26 【问题描述】:我有一个 URL 数组,这个数组是 JSON 解析的结果
id=[s valueForKey:@"bid"];
title=[s valueForKey:@"btitle"];
author=[s valueForKey:@"author"];
price=[s valueForKey:@"price"];
image=[s valueForKey:@"image"];
这里用于显示该图像数组(带有 URL 的数组到 tableviewcell)我将该数组转换为该单元格内的 NSdata-for row index() 方法,如
NSData *imageData= [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[image objectAtIndex:indexPath.row]]];
然后我使用该图像数据在 tableviewcell 中显示图像..但是无论如何以数组格式显示内容,以便我可以轻松使用它。
我想要以下格式的相同数组,
NSARRAY *a=[[ NSARRAY alloc]initWithObjects:[UIimage imagenamed:@"url1"],[UIimage imagenamed:@"url2"],nil];
有没有办法将该数据格式转换为数组格式? 请帮帮我
【问题讨论】:
如果我正确理解了您的问题,您可以将 NSData 转换为 UIImage 格式并将其保存在数组中。 你能给我那个代码吗???请 【参考方案1】:使用此代码将图像数据存储到数组中...
NSMutableArray *imagesArray = [[NSMutableArray alloc] init];
for(int i = 0; i < [image count]; i++)
NSData *imageData= [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:[image objectAtIndex:i]]];
[imagesArray addObject:[UIImage imageWithData:imageData]];
已编辑:
您必须使用此代码,从字典中获取图像 url,而不是在 cellForRowAtIndexPath() 方法中...(简单地说,在到达 cellForRow..() 方法之前,您需要这样做)
【讨论】:
谢谢,但是当我在 cellfor rowatindex() 函数中尝试此操作时,它显示异常! :-( 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil' *** 第一次抛出调用堆栈:(0x195b012 0x1432e7e 0x190eb6a 0x190ea20 0x4b23 0x4318fb 0x4319cf 0x41a1bb 0x42ab4b 0x3c72dd 0x14466b0 0x290fc0 0x28533c 0x290eaf 0x4662bd 0x3aeb56 0x3ad66f 0x3ad589 0x3ac7e4 0x3ac61e 0x3ad3d9 0x3b02d2 0x45a99c 0x3a7574 0x3a776f 0x3a7905 0x3b0917 0x2b92 0x374157 0x374747 0x37594b 0x386cb5 0x387beb 0x379698 0x3884df9 0x37517a 0x376ffc 0x214d 0x2075为0x1)的libc ++ abi.dylib:终止称为抛出异常【参考方案2】:使用Linq-to-ObectiveC select method,您可以将字符串数组转换为图像数组,如下所示:
NSArray* images = [urls select:^id(id url)
return [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];
];
【讨论】:
以上是关于将 URL 数组转换为 xcode 中的图像 url 数组的主要内容,如果未能解决你的问题,请参考以下文章
使用JavaScript将图像URL中的链接从s3转换为文件对象