gpt4 book ai didi

ios - 如何在 iOS 中显示来自 UIImage 的 NSArray 的图像名称

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:51:41 25 4
gpt4 key购买 nike

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

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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com