获取 iOS 中资产文件的路径:NSBundle 丢失

Get path to assets file in iOS: NSBundle is missing

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

NSBundleErrorMaximum
NSBundleErrorMinimum
NSBundleResourceRequest
NSBundleExecutableArchitecturePPC
NSBundleExecutableArchitectureI386
NSBundleExecutableArchitecturePPC64
NSBundleExecutableArchitectureX86_64
NSBundleOnDemandResourceInvalidTagError

我不知道这些是干什么用的。所以我的问题是:

  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
}

很多东西在 Swift3 中都改名了!

let url = Bundle.main.url(forResource: "Database", withExtension: "txt")
// url.path