使用时排除文件扩展名是否有任何负面影响,[UIImage imageWithContentsOfFile:]或者最好在路径中包含文件类型?
Apple Docs 状态initWithContentsOfFile:需要以下路径作为其参数:
文件的路径。此路径应包含标识图像数据类型的文件扩展名。
但是,[UIImage imageWithContentsOfFile:]just 状态的路径:
文件的完整或部分路径。
我只是想知道包含文件扩展名是否仍然是最佳做法,或者甚至不担心它。谢谢!
使用时排除文件扩展名是否有任何负面影响,[UIImage imageWithContentsOfFile:]或者最好在路径中包含文件类型?
Apple Docs 状态initWithContentsOfFile:需要以下路径作为其参数:
文件的路径。此路径应包含标识图像数据类型的文件扩展名。
但是,[UIImage imageWithContentsOfFile:]just 状态的路径:
文件的完整或部分路径。
我只是想知道包含文件扩展名是否仍然是最佳做法,或者甚至不担心它。谢谢!
您应该包含所有文件请求的文件扩展名。我能想到的唯一一个你不会使用的例子是
NSBundle pathForResource:ofType:
方法。该方法您在文件名之外指定文件扩展名。我相对确定“部分路径”是指相对路径。您可以仅通过文件名在捆绑包的根目录中请求文件,因为它相对于捆绑包的路径位于根目录中,换句话说就是文件名。
最好的方法是使用NSBundle pathForResource:ofType:
如果你有这些图像:
并且您想将其加载到一个UIImage,您将使用以下代码:
UIImage *myImage;
myImage = [UIImage imageWithContentsOfFile:[NSBundle pathForResource:@"myImage" ofType:@"png"]];
此代码还将在 iPhone Retina 中加载“myImage@2x.png”,而无需将@2x 添加到代码中。
一定要写准确的文件名。“myimage”可能无法在设备上运行,因为原始文件名有一个大写“I”(“myImage.png”)。