首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从XCAsset目录获取数据

从XCAsset目录获取数据
EN

Stack Overflow用户
提问于 2015-10-27 00:43:43
回答 2查看 20.7K关注 0票数 17

我知道要从资产目录中获取图像,可以使用UIImage(名为"fileName")。

但是,如果我从XCAsset目录中获取数据,该怎么办?我搞不懂这件事。

我试过了,

代码语言:javascript
复制
let url = NSBundle.mainBundle().URLForResource("fileName", withExtension: nil)
let data = NSData(contentsOfURL: url!)

但它是零。我不知道如何从XCAssets目录中获取数据。如果有人能帮我(谷歌搜索没有帮助),请让我知道,我将非常感谢!

更新:

为什么我要尝试从资产目录中获取数据?我将一个动画gif拖到了资产目录中。资产目录将其解释为数据。这就是我试图从资产目录中获取数据的原因。

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

它有一个名为"_Loading“的文件,在右边它被认为是一个”数据集“。我不确定如何从资产目录中获取数据集。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-27 22:27:29

我将回答我自己的问题。

从iOS 9开始,资产目录允许的不仅仅是图像。它们允许数据集。为了从Asset Catalog获取数据,您必须使用NSDataAsset类。

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

代码语言:javascript
复制
if let asset = NSDataAsset(name: "CoolJSON") {
    let data = asset.data
    let d = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
}

在本例中,我将NSData对象转换为json。

NSDataAsset class reference

票数 68
EN

Stack Overflow用户

发布于 2017-11-23 10:44:31

从Assets.xcassets文件中加载gif图像。这对于加载json文件是一样的。

  1. 新:[新数据集]创建一个数据集,并在Assets.xcassets文件夹中重命名为“”。好了,gif文件被添加到Assets.xcassets文件夹中。

  1. 使用:

NSDataAsset *asset = [NSDataAsset alloc:@“有趣”];self.gifImageView.image = UIImage sd_animatedGIFWithData:asset.data;

代码语言:javascript
复制
- (UIImage \*)sd\_animatedGIFWithData:(NSData \*)data: is a UIImage+GIF category for loading gif image in SDWebImage. 

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33351108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档