iPhone - 从本地 xml 文件加载本地图像

Posted

技术标签:

【中文标题】iPhone - 从本地 xml 文件加载本地图像【英文标题】:iPhone - Loading local images from a local xml file 【发布时间】:2009-05-18 23:20:17 【问题描述】:

为什么我可以从主包中加载本地 xml 文件,但我无法加载图像?

NSString *path = [[NSBundle mainBundle] resourcePath];

这会被加载(我知道是因为我可以追踪它) /Users/me/Library/Application Support/iPhone Simulator/User/Applications/5B888456-40FF-4C72-A2ED-5D5CFA287777/MyApp.app/test.xml

此图像永远不会加载(任何图像也不会): /Users/me/Library/Application Support/iPhone Simulator/User/Applications/5B888456-40FF-4C72-A2ED-5D5CFA287777/MyApp.app/background.png

【问题讨论】:

你说图像永远不会加载是什么意思?您如何尝试加载它? -1。没有足够的代码,没有代码显示预期与实际行为(例如,使用断言?)... 【参考方案1】:

您可以使用[UIImage imageNamed:@"background.png"]

这将加载 background.png(它应该位于 Xcode 的 Resources 文件夹中)。

【讨论】:

我正在尝试编写一个字符串以发送到另一个加载图像的方法。它需要一个字符串,然后使用 NSURL *url = [NSURL URLWithString:imgPath];组成一个 NSURLConnection 来检索图像。我知道这听起来很复杂,但我尝试加载的图像可能在也可能不在 mainBundle 中。如果图像位于远程服务器上,则可以通过发送正确的 URL 来很好地加载,但我无法从主包中加载它。如果图像在 mainBundle 中,我将什么字符串传递给该方法? 为什么不先检查 imageNamed,如果失败,构建你的 URL?【参考方案2】:

您在评论中说您正在为路径编写一个 NSURL。要对本地文件系统路径执行此操作,例如捆绑包中的文件,您需要使用 NSURL fileURLWithPath:

【讨论】:

但问题是关于加载本地图像。因此,没有必要使用 NSURL & 然后在 UIImage 方法中给出它。【参考方案3】:

这里有两种可能:

1) 您的图像文件名不正确。这意味着,文件名区分大小写。所以可能是大写小写字母的问题。

2) 您可能已从图像属性中取消选中目标名称。这意味着您的图像不是您正在编译的项目目标的成员。要验证这一点,请右键单击 XCode 项目中的任何图像名称 --> 选择获取信息 --> 从文件信息对话框中选择目标选项卡 --> 验证目标名称附近复选框的状态。万一,它被选中/选中,那么就会出现一个奇怪的问题。但是如果它没有被选中/取消选中,这意味着图像没有被添加到编译后创建的包文件中。

这里的第三种可能性是您可能没有添加您所指的图像。重新检查您的项目层次结构并查看所有资源是否存在。

【讨论】:

【参考方案4】:

类似

UIImage *testimg = [UIImage imageNamed:myfilename];

if (nil==testimg) [testimg initWithContentsOfURL:myurl];

我现在远离编译器,所以我无法检查是否需要先将其下载到 NSData 对象,然后再将其制作为图像。您还应该将 initWithContents... 放在 try...catch... finally 块中。

【讨论】:

【参考方案5】:

嗨 使用以下代码

[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"background" ofType:@"png"]];

【讨论】:

【参考方案6】:

NSURL *imageURL = [NSURL URLWithString:@"bundle://background.png"];

【讨论】:

以上是关于iPhone - 从本地 xml 文件加载本地图像的主要内容,如果未能解决你的问题,请参考以下文章

使用phonegap从iPhone中的Documents文件夹加载本地网站?

如何将图像、pdf、音频、视频和任何文件系统从 iphone 本地内存上传到服务器(API)

从本地 HTML Xcode 加载本地图像

如何在本地从 Xcode 导航器加载 XML 文件 - iOS

如何在 iPhone 设备中本地保存图像和数据

如何使用拇指从文件夹本地加载图像