首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个包加载资源

从另一个包加载资源
EN

Stack Overflow用户
提问于 2011-06-25 10:06:49
回答 3查看 3.5K关注 0票数 6

如果我有一个包,其中包含一个类和该类使用的一些资源。如果我从bundle装入类,我应该如何装入该类中的资源(位于装入类的bundle中)?

假设我想在我的对象中加载一个图像,该图像是从bundle加载的类实例化的。如果我这样做了

代码语言:javascript
复制
NSImage *image = [NSImage imageNamed:@"myImage"];

它会加载我从中加载类的包中的图像吗?或者它会在加载了类和资源的捆绑包中的应用程序捆绑包中查找?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-25 10:22:26

此方法在多个位置搜索命名图像,返回找到的第一个与给定名称匹配的图像。搜索的顺序如下:

  1. 搜索其名称已使用setName:方法显式设置且当前驻留在图像缓存中的对象。
  2. 在应用程序的主包中搜索其名称与指定字符串匹配的文件。(有关如何搜索捆绑包的信息,请参阅捆绑包编程指南中的“”访问捆绑包的内容“”。)
  3. 在应用程序工具包框架中搜索具有指定名称的共享映像。在应用程序包中查找文件时,最好(但不是必需的)在name参数中包含文件扩展名。(Link)
票数 4
EN

Stack Overflow用户

发布于 2012-09-03 22:21:57

在OS X 10.7+上执行以下操作:

代码语言:javascript
复制
NSBundle *otherBundle = [NSBundle bundleWithIdentifier: @"com.company.otherapp"];
NSImage *imageFromOtherBundle = [otherBundle imageForResource: @"imageName"];
票数 15
EN

Stack Overflow用户

发布于 2011-06-26 07:49:55

您可以使用NSBundle+bundleForClass:类方法来获取对特定类的包的引用。

然后,您可以使用NSBundle‑pathForImageResource:方法来获取图像的路径,并使用该路径创建一个NSImage

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6475338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档