我有一个图像数组,我只想从数组中获取图像名称 例如
countryArray = [[NSMutableArray arrayWithObjects:
[UIImage imageNamed"india.png"],
[UIImage imageNamed"australia.png"],
[UIImage imageNamed"singapore.png"],
[UIImage imageNamed"america.png"],
nil] retain];
NSLog(@"image name at row %d is '%@'.",1,[countryArray objectAtIndex:1]);
它应该显示 australia.png
,而不是显示:
image name at row 1 is UIImage: 0x4b14910
一个 UIImage
不记得它的文件名一旦图像被加载,所以没有直接的方法来实现这个属性,例如myImage.name
.
一种选择是使用单独的 NSMutableArray
将名称存储为字符串。比如
countryStringArray = [[NSMutableArray arrayWithObjects:
@"india",
@"australia",
@"singapore",
@"america",
nil] retain];
countryImageArray = [[NSMutableArray arrayWithObjects:
[UIImage imageNamed:[countryStringArray objectAtIndex:0]],
[UIImage imageNamed:[countryStringArray objectAtIndex:1]],
[UIImage imageNamed:[countryStringArray objectAtIndex:2]],
[UIImage imageNamed:[countryStringArray objectAtIndex:3]],
nil] retain];
您甚至可以使用 for
循环来填充 countryImageArray
。
第二种选择是使用 NSMutableDictionary
。这本质上是一样的,其实你可以通过
countryDictionary = [NSDictionary dictionaryWithObjects:countryImageArray forKeys:countryStringArray];
但它在按名称检索特定国家/地区图像的简洁性方面具有一些优势。直接定义它的方法是
[countryDictionary setObject:[UIImage imageNamed"india.png"] forKey"india"];
[countryDictionary setObject:[UIImage imageNamed"australia.png"] forKey"australia"];
[countryDictionary setObject:[UIImage imageNamed"singapore.png"] forKey"singapore"];
[countryDictionary setObject:[UIImage imageNamed:@"america.png"] forKey:@"america"];
关于ios - 如何在 iOS 中从 UIImage 的 NSArray 显示图像名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7030810/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |