I got this warning when I load image use [[UIImage imageNamed:normalStr] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal], than, I change to [UIImage imageNamed:normalStr], warning was gone.
Since the error is complaining that the name you gave is (null), this is most likely caused by calling [UIImage imageNamed:nil]. Or more specifically, passing in a variable hasn't been set, so it's equal to nil. While using stringWithFormat: would get rid of the error, I think there's a good chance it's not actually doing what you want. If the name you supply is a nil value, then using stringWithFormat: would result in it looking for an image that is literally named "(null)", as if you were calling [UIImage imageNamed:@"(null)"].
Something like this is probably a better option:
if (name) {
UIImage *image = [UIImage imageNamed:name];
} else {
// Do something else
}
You might want to set a breakpoint in Xcode on that "Do something else" line, to help you figure out why this code is getting called with a nil value in the first place.
In Xcode 6.4, this seems to occur when using "Selected Image" for a tab bar item in the storyboard, even if it's a valid image.
This doesn't actually seem to set the selected state image anyway, so it needs to be defined in User Defined Runtime Attributes, and removed from the SelectedImage attribute of the Tab Bar Item
This error (usually) happens when you try to load an image with [UIImage imageNamed:myImage] but iOS is not sure if myImage is really a NSString and then you have this warning.
The Reason to the error is passing a nil value to the "imageNamed:" method. To avoid this, you can hide your imageView when you try to pass the nil value. The chances may occur in reusing the imageViews in UITableView or may be in scrollViews.
This happened to me after a storyboard was split into several (the actual change happened when I was on holidays, so I don't know exactly how it was done).
After inspecting the XML of the storyboards, I found that an image reference which previously had pointed to "bottomBar" in the assets catalogue instead pointed to imageView:fFo-1g-jzs:image.
At the end of the XML file under the <resources> tag was tag named <image name="imageView:fFo-1g-jzs:image"> containing a big mutableData blob.
After resetting the image reference in the storyboard and removing the blob, the error went away.
I got this warning when I load image use
[[UIImage imageNamed:normalStr] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
, than, I change to[UIImage imageNamed:normalStr]
, warning was gone.Since the error is complaining that the name you gave is
(null)
, this is most likely caused by calling[UIImage imageNamed:nil]
. Or more specifically, passing in a variable hasn't been set, so it's equal tonil
. While usingstringWithFormat:
would get rid of the error, I think there's a good chance it's not actually doing what you want. If the name you supply is anil
value, then using stringWithFormat: would result in it looking for an image that is literally named "(null)", as if you were calling[UIImage imageNamed:@"(null)"]
.Something like this is probably a better option:
You might want to set a breakpoint in Xcode on that "Do something else" line, to help you figure out why this code is getting called with a nil value in the first place.
In Xcode 6.4, this seems to occur when using "Selected Image" for a tab bar item in the storyboard, even if it's a valid image.
This doesn't actually seem to set the selected state image anyway, so it needs to be defined in User Defined Runtime Attributes, and removed from the SelectedImage attribute of the Tab Bar Item
This error (usually) happens when you try to load an image with
[UIImage imageNamed:myImage]
but iOS is not sure ifmyImage
is really aNSString
and then you have this warning.You can fix this using:
Or you can simply check for the
length
of the name of theUIImage
:The Reason to the error is passing a nil value to the "imageNamed:" method. To avoid this, you can hide your imageView when you try to pass the nil value. The chances may occur in reusing the imageViews in UITableView or may be in scrollViews.
I avoided the warning with the below check :
This happened to me after a storyboard was split into several (the actual change happened when I was on holidays, so I don't know exactly how it was done).
After inspecting the XML of the storyboards, I found that an image reference which previously had pointed to "bottomBar" in the assets catalogue instead pointed to
imageView:fFo-1g-jzs:image
.At the end of the XML file under the
<resources>
tag was tag named<image name="imageView:fFo-1g-jzs:image">
containing a bigmutableData
blob.After resetting the image reference in the storyboard and removing the blob, the error went away.