NSBundle 的 pathForDirectory 方法?
pathForDirectory method for NSBundle?
如果我在我的包中包含一个文件夹(一个真正的文件夹,蓝色文件夹,而不是黄色组),我如何从我的包中获取该文件夹的路径?我通常使用的方法是...
[[NSBundle mainBundle] pathForResource:fileName ofType:______];
...但是 "type" 是目录吗?是否有 "type" 可供使用,或者是否有另一种方法可以访问包内的目录路径?
还是我的做法全错了,还有其他方法可以在捆绑包中包含可访问文档的文件夹吗?
根据评论中的建议,原来您可以使用空字符串来引用文件夹。因此,可以使用...
访问名为 "myFolder" 的文件夹
[[NSBundle mainBundle] pathForResource:@"myFolder" ofType:@""];
希望这可以帮助其他没有想到它会如此简单的人...
由于是自己添加文件夹,所以知道文件夹的名称,所以可以这样获取路径:
NSString *myDirectoryName = @"myDirectory";
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:myDirectoryName];
您必须测试此路径是否存在 NSFileManager
。
否则你仍然可以使用你正在使用的方法,类型可以是nil
,所以你可以这样调用它
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle] pathForResource:myDirectoryName ofType:nil];
然后测试结果是否nil
。
if(absolutePathToMyDirectory) {
// do stuff related to this path
}
目录也可以有扩展名。如果你的没有,只需为 type
参数传递 @"",-[NSBundle pathForResource:ofType:]
也适用于目录,而不仅仅是文件。最后,目录也是资源:)
如果我在我的包中包含一个文件夹(一个真正的文件夹,蓝色文件夹,而不是黄色组),我如何从我的包中获取该文件夹的路径?我通常使用的方法是...
[[NSBundle mainBundle] pathForResource:fileName ofType:______];
...但是 "type" 是目录吗?是否有 "type" 可供使用,或者是否有另一种方法可以访问包内的目录路径?
还是我的做法全错了,还有其他方法可以在捆绑包中包含可访问文档的文件夹吗?
根据评论中的建议,原来您可以使用空字符串来引用文件夹。因此,可以使用...
访问名为 "myFolder" 的文件夹[[NSBundle mainBundle] pathForResource:@"myFolder" ofType:@""];
希望这可以帮助其他没有想到它会如此简单的人...
由于是自己添加文件夹,所以知道文件夹的名称,所以可以这样获取路径:
NSString *myDirectoryName = @"myDirectory";
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle].resourcePath stringByAppendingPathComponent:myDirectoryName];
您必须测试此路径是否存在 NSFileManager
。
否则你仍然可以使用你正在使用的方法,类型可以是nil
,所以你可以这样调用它
NSString *absolutePathToMyDirectory = [[NSBundle mainBundle] pathForResource:myDirectoryName ofType:nil];
然后测试结果是否nil
。
if(absolutePathToMyDirectory) {
// do stuff related to this path
}
目录也可以有扩展名。如果你的没有,只需为 type
参数传递 @"",-[NSBundle pathForResource:ofType:]
也适用于目录,而不仅仅是文件。最后,目录也是资源:)