获取 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
我不知道这些是干什么用的。所以我的问题是:
- 如何将
NSBundle
导入到我的项目中?
- 如何获取以下文件的路径:
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
我正在尝试获取 路径 到我的 iOS 应用程序的 Assets.xcassets
目录中的文件,但我无法.似乎我应该以某种方式使用 NSBundle.mainBundle()
,但是 Xcode 找不到 NSBundle
,即使我导入了 Foundation 或 UIKit。如果我在 "NSBundle" 上进行自动完成,我会得到以下选项:
NSBundleErrorMaximum
NSBundleErrorMinimum
NSBundleResourceRequest
NSBundleExecutableArchitecturePPC
NSBundleExecutableArchitectureI386
NSBundleExecutableArchitecturePPC64
NSBundleExecutableArchitectureX86_64
NSBundleOnDemandResourceInvalidTagError
我不知道这些是干什么用的。所以我的问题是:
- 如何将
NSBundle
导入到我的项目中? - 如何获取以下文件的路径:
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