从XCAsset目录中获取数据

Der*_*328 10 ios asset-catalog xcasset swift

我知道要从资产目录中获取图像,我可以使用UIImage(名为:"fileName")来完成它.

但是,如果我从XCAsset目录中获取数据怎么办?我无法弄清楚这一点.

我试过了,

let url = NSBundle.mainBundle().URLForResource("fileName", withExtension: nil)
let data = NSData(contentsOfURL: url!)
Run Code Online (Sandbox Code Playgroud)

但它没有.我不知道如何从XCAssets目录中获取数据.如果有人可以帮助我(谷歌搜索没有帮助),请让我知道我会非常感激!

更新:

为什么我要从资产目录中获取数据?我将动画gif拖入资产目录.资产目录将其解释为DATA.这就是我试图从资产目录中获取数据的原因.

更新:这是我的Assets.xcassets文件夹的屏幕截图.

图片 它有一个名为"_Loading"的文件,在右边它被认为是"数据集".我不确定如何从Assets目录中获取数据集.

Der*_*328 54

我将回答我自己的问题.

从iOS 9开始,资产目录不仅仅包含图像.它们允许数据集.要从资产目录中获取数据,必须使用NSDataAsset类.

示例:假设您有一个名为"CoolJSON"的数据资产

if let asset = NSDataAsset(name: "CoolJSON") {
    let data = asset.data
    let d = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
}
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我将NSData对象转换为json.

NSDataAsset类引用