Finding image name loaded into UIImage instance

2019-08-26 09:47发布

How can I find out what the image name (usually file name?) loaded into a UIImage instance is? In this case, they were all initWithContentsOfFile:.

3条回答
叼着烟拽天下
2楼-- · 2019-08-26 10:07

It's also something you can't just add a category on UIImage to, unfortunately, because it requires state.

查看更多
Juvenile、少年°
3楼-- · 2019-08-26 10:10

If you already know what the image names are you can compare your image to another image using image named:

if (bg.image == [UIImage imageNamed:@"field.jpeg"]) {
    bg.image = [UIImage imageNamed:@"cave.jpeg"];
} else {
    bg.image = [UIImage imageNamed:@"field.jpeg"];
}

Here I use one button to switch between two images.

查看更多
家丑人穷心不美
4楼-- · 2019-08-26 10:17

Once it's loaded using that, you can't. The file name is only used to load the data into memory. After that, it becomes irrelevant.

If you need to maintain the file name, then perhaps you need to make a class with the filename (as an NSString or NSURL, perhaps) and the image data (as an NSImage or NSData object) as ivars. I'm not sure what your application is, so I can't give you any architectural advice at this point.

查看更多
登录 后发表回答