我知道要从资产目录中获取图像,我可以使用 UIImage(named: "fileName") 来执行此操作。
但是,如果我从 XCAsset 目录获取数据怎么办?我无法弄清楚这一点。
我努力了,
let url = NSBundle.mainBundle().URLForResource("fileName", withExtension: nil)
let data = NSData(contentsOfURL: url!)
但它为零。我不知道如何从 XCAssets 目录中获取数据。如果有人可以帮助我(谷歌搜索没有帮助)请告诉我,我将非常感激!
Update:
为什么我要尝试从资产目录中获取数据?我将一个 gif 动画拖到资产目录中。资产目录将其解释为数据。这就是我尝试从资产目录中获取数据的原因。
更新:
这是我的 Assets.xcassets 文件夹的屏幕截图。
It has a file called "_Loading" and on the right it is considered a "Data set".
I'm not sure how to get the data set from the Assets catalog.
我要回答我自己的问题。
从 iOS 9 开始,资产目录不仅仅支持图像。他们允许数据集。为了从资产目录中获取数据,您必须使用 NSDataAsset 类。
示例:假设您有一个名为“CoolJSON”的数据资产
if let asset = NSDataAsset(name: "CoolJSON") {
let data = asset.data
let d = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
}
在此示例中,我将 NSData 对象转换为 json。
NSDataAsset 类参考 https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/NSDataAsset_Class/index.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)