首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pathForDirectory方法用于NSBundle?

pathForDirectory方法用于NSBundle?
EN

Stack Overflow用户
提问于 2015-04-23 21:42:31
回答 3查看 127关注 0票数 0

如果我在包中包含一个文件夹(一个真正的文件夹,蓝色的文件夹,而不是黄色的组),那么如何从我的包中获得该文件夹的路径?我通常用的方法是..。

代码语言:javascript
复制
[[NSBundle mainBundle] pathForResource:fileName ofType:______];

...but什么是“类型”目录?是否有一种“类型”可供使用,或者是否有另一种方法用于访问包中目录的路径?

还是我做错了,还有其他方法可以在包中包含可访问文档的文件夹?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-23 23:04:47

目录也可以有扩展。如果您的目录没有,只需为type参数传递@"“,-[NSBundle pathForResource:ofType:]也适用于目录,而不仅仅是文件。最后,目录也是一个资源:)

票数 1
EN

Stack Overflow用户

发布于 2015-04-23 22:32:54

根据注释中的建议,您可以使用空字符串来引用文件夹。因此,名为"myFolder“的文件夹可以使用.

代码语言:javascript
复制
[[NSBundle mainBundle] pathForResource:@"myFolder" ofType:@""];

希望这能帮助那些没想到会这么容易的人.

票数 0
EN

Stack Overflow用户

发布于 2015-04-23 22:33:49

当您按自己的方式添加文件夹时,您知道该文件夹的名称,因此您可以获得如下所示的路径:

代码语言:javascript
复制
NSString *myDirectoryName = @"myDirectory";
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:myDirectoryName];

您必须测试NSFileManager中是否存在此路径。

否则,您仍然可以使用您正在使用的方法,类型可以是nil,所以您可以这样调用它

代码语言:javascript
复制
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle] pathForResource:myDirectoryName ofType:nil];

然后测试结果是否为nil

代码语言:javascript
复制
if(absolutePathToMyDirectory) {
    // do stuff related to this path
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29834856

复制
相关文章

相似问题

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