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

时间:2016-10-21 16:22:38

标签: ios nsbundle

我正在尝试将路径放到我的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
  3. 请注意,我能够获取文件的内容,但我希望路径到文件中。

    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
    }
    

1 个答案:

答案 0 :(得分:6)

很多事情都改变了Swift3中的名字!

data2