OStack程序员社区-中国程序员成长平台

标题: ios - 如何在 iOS 中从 UIImage 的 NSArray 显示图像名称 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 17:01
标题: ios - 如何在 iOS 中从 UIImage 的 NSArray 显示图像名称

我有一个图像数组,我只想从数组中获取图像名称 例如

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



Best Answer-推荐答案


一个 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