在iOS中获取资源文件的路径:缺少NSBundle

Krø*_*lle 3 nsbundle ios

我试图获取我的iOS应用程序目录中的文件的路径Assets.xcassets,但我无法.看起来我应该NSBundle.mainBundle()以某种方式使用,但NSBundle 即使我导入Foundation或UIKit,Xcode也找不到.如果我在"NSBundle"上自动完成,我会得到以下选项:

NSBundleErrorMaximum
NSBundleErrorMinimum
NSBundleResourceRequest
NSBundleExecutableArchitecturePPC
NSBundleExecutableArchitectureI386
NSBundleExecutableArchitecturePPC64
NSBundleExecutableArchitectureX86_64
NSBundleOnDemandResourceInvalidTagError
Run Code Online (Sandbox Code Playgroud)

我不知道这些是为了什么.所以我的问题是:

  1. 如何导入NSBundle我的项目?
  2. 我怎样才能获得路径以下文件:Assets.xcassets/Database.dataset/database.txt

请注意,我能够获取文件的内容执行以下操作,但我想要文件的路径.

fileprivate static func readDatabaseFileFromAssets() -> NSDictionary
{
    let databaseAsset = NSDataAsset(name: "Database", bundle: Bundle.main)
    let json = try? JSONSerialization.jsonObject(with: databaseAsset!.data, options: JSONSerialization.ReadingOptions.allowFragments)
    return json as! NSDictionary
}
Run Code Online (Sandbox Code Playgroud)

Dan*_*oad 6

很多东西都改变了Swift3中的名字!

let url = Bundle.main.url(forResource: "Database", withExtension: "txt")
// url.path
Run Code Online (Sandbox Code Playgroud)