其实三者之间没有什么一一对应关系,但是某些情况下可以相互转化。
NSData一般用于发送请求用,把图片,音频等都可以转化为NSData,这样在能在网络请求中可以直接发送了。
UIImage 就不多说了,它可以通过NSData生成,也可以从ALAsset中提取。
ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能修改和新建资源文件,(ALAssetRepresentation类代表相册中每个资源文件的详细信息,可以通过它获取资源的大小,名字,路径等详细信息。)
//NSData转换为UIImage
NSData *imageData = [NSData dataWithContentsOfFile: imagePath];
UIImage *image = [UIImage imageWithData: imageData];
//UIImage转换为NSData
NSData *imageData = UIImagePNGRepresentation(aimae);
//ALAsset提取UIImage
UIImage *tempImg=[UIImage imageWithCGImage:asset.defaultRepresentation.fullScreenImage];