I have a project which I am migrating from Obj-C to Swift 3.0 (and I am quite a noob in Swift).
How do I translate this line?
NSString *folder = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myfolder"];
I managed to get resource path:
let resoursePath = Bundle.main.resoursePath;
But how do I get path to a subfolder named "myfolder"? I need to get a path the subfolder, not path to the files inside it.
dasblinkenlight
In Swift-3 make URL
, and call appendingPathComponent
:
let resourcePath = Bundle.main.resourcePath
let subdir = URL(fileURLWithPath:resourcePath!).appendingPathComponent("sub").path
or simply
let subdir = Bundle.main.resourceURL!.appendingPathComponent("sub").path
(thanks, Martin R!)
See this Q&A on information on stringByAppendingPathComponent
method in Swift.
You can use this method to get listing of the bundle subdirectory and get resources only of the specific type:
Bundle.main.paths(forResourcesOfType: type, inDirectory: folder)
来源:https://stackoverflow.com/questions/40692737/how-to-get-path-to-a-subfolder-in-main-bundle