获取iOS中assets文件路径:NSBundle丢失

3

我正在尝试获取我iOS应用程序中的Assets.xcassets目录下文件的路径,但我无法获取。看起来我应该以某种方式使用NSBundle.mainBundle(),但即使我导入了Foundation或UIKit,Xcode也无法找到NSBundle。如果我在"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
}

NSBundle现在被称为Bundle - Sachin Vas
1个回答

5

Swift3 中有很多东西的名称已经发生了变化!

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接