从 XCAsset 目录获取数据
Get Data from XCAsset catalog
我知道要从资产目录中获取图像,我可以使用 UIImage(named: "fileName") 来完成。
但是,如果我从 XCAsset 目录中获取数据怎么办?我想不通。
我试过了,
let url = NSBundle.mainBundle().URLForResource("fileName", withExtension: nil)
let data = NSData(contentsOfURL: url!)
但它是零。我不知道如何从 XCAssets 目录中获取数据。如果有人可以帮助我(谷歌搜索没有帮助)请告诉我,我将非常感激!
更新:
为什么我要尝试从资产目录中获取数据?我将动画 gif 拖到资产目录中。资产目录将其解释为数据。这就是我尝试从资产目录中获取数据的原因。
更新:
这是我的 Assets.xcassets 文件夹的屏幕截图。
它有一个名为“_Loading”的文件,在右侧它被认为是 "Data set"。
我不确定如何从资产目录中获取数据集。
我要回答我自己的问题。
自 iOS9 起,资产目录不仅允许图像。他们允许数据集。为了从资产目录中获取数据,您必须使用 NSDataAsset class.
示例:假设您有一个名为 "CoolJSON"
的数据资产
if let asset = NSDataAsset(name: "CoolJSON") {
let data = asset.data
let d = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
}
在这个例子中,我把一个 NSData 对象变成了一个 json。
从 Assets.xcassets 文件加载 gif 图像。这与加载 json 个文件相同。
NEW:【新数据集】创建一个数据集并在Assets.xcassets文件夹中重命名"funny"。好的,gif 文件已添加到 Assets.xcassets 文件夹中。
使用:
NSDataAsset *asset = [[NSDataAsset alloc] initWithName:@"funny"];
self.gifImageView.image = [UIImage sd_animatedGIFWithData:asset.data];
- (UIImage *)sd_animatedGIFWithData:(NSData *)data: 是一个UIImage+GIF类,用于在SDWebImage中加载gif图片。
我知道要从资产目录中获取图像,我可以使用 UIImage(named: "fileName") 来完成。
但是,如果我从 XCAsset 目录中获取数据怎么办?我想不通。
我试过了,
let url = NSBundle.mainBundle().URLForResource("fileName", withExtension: nil)
let data = NSData(contentsOfURL: url!)
但它是零。我不知道如何从 XCAssets 目录中获取数据。如果有人可以帮助我(谷歌搜索没有帮助)请告诉我,我将非常感激!
更新:
为什么我要尝试从资产目录中获取数据?我将动画 gif 拖到资产目录中。资产目录将其解释为数据。这就是我尝试从资产目录中获取数据的原因。
更新: 这是我的 Assets.xcassets 文件夹的屏幕截图。
我要回答我自己的问题。
自 iOS9 起,资产目录不仅允许图像。他们允许数据集。为了从资产目录中获取数据,您必须使用 NSDataAsset class.
示例:假设您有一个名为 "CoolJSON"
的数据资产if let asset = NSDataAsset(name: "CoolJSON") {
let data = asset.data
let d = try? NSJSONSerialization.JSONObjectWithData(data, options: [])
}
在这个例子中,我把一个 NSData 对象变成了一个 json。
从 Assets.xcassets 文件加载 gif 图像。这与加载 json 个文件相同。
NEW:【新数据集】创建一个数据集并在Assets.xcassets文件夹中重命名"funny"。好的,gif 文件已添加到 Assets.xcassets 文件夹中。
使用:
NSDataAsset *asset = [[NSDataAsset alloc] initWithName:@"funny"]; self.gifImageView.image = [UIImage sd_animatedGIFWithData:asset.data];
- (UIImage *)sd_animatedGIFWithData:(NSData *)data: 是一个UIImage+GIF类,用于在SDWebImage中加载gif图片。