1.在开启我们的编辑组件时,有三种不同的设置图片方式,分别是 result.image,result.imagePath,result.imageAsset。当从外部直接传入一个原生 ALAsset 或者 PHAsset 对象时如何将其转换成可供组件直接使用的 TuSDKTSALAsset 和 TuSDKTSPHAsset 对象。
   2.用户获取到了最后的图片编辑结果 result.imageAsset,但是编辑结果的类型是 SDK 封装过的数据类型,现在用户需要获取到系统类型的 assets 类型。 
   1.1 TUSDK 中 TuSDKTSALAsset 对象是对 ALAsset 对象的一个包装,在 SDK 中提供了相应的包装方法可直接进行转换
   1.2 TUSDK 中 TuSDKTSPHAsset 对象是对 PHAsset 对象的一个包装,在 SDK 中提供了相应的包装方法可直接进行转换
//  调用类型转换的方法需要引入头文件
#import <TuSDK/TuSDKTSPHAssets+Extend.h>
#import <TUSDK/TuSDKTSALAssets+Extend.h>
/**
 *  初始化媒体资源对象
 *
 *  @param asset ALAsset / PHAsset
 *
 *  @return 媒体资源对象
 */
//  转化 ALAsset 
+ (instancetype)initWithALAsset:(ALAsset *)asset;
//  转化 PHAsset
+ (instancetype)initWithPHAsset:(PHAsset *)asset;
具体转换代码如下所示:
outPutAsset 为外部传入需要处理的照片对象,通过方法进行转换
 TuSDKTSALAsset *imageAsset = [TuSDKTSALAsset initWithALAsset:outPutAsset];
 TuSDKTSPHAsset *imageAsset = [TuSDKTSPHAsset initWithPHAsset:outPutAsset];
将转换之后的对象传给编辑组件即可
_photoEditMultipleComponent.inputAsset = imageAsset;
   2.TuSDK 中的  TuSDKTSALAsset 和 TuSDKTSPHAsset分别对应着 iOS 中的系统类型 ALAsset 和 PHAsset ,用户可以通过方法将 TuSDK 的类型转换为系统类型。
//  调用类型转换的方法需要引入头文件
#import <TuSDK/TuSDKTSPHAssets+Extend.h>
#import <TUSDK/TuSDKTSALAssets+Extend.h>
PhotoKit ,为了适配和兼顾 TuSDK 对照片对象的两种类型进行了封装使用。result.imageAsset 的类型转换,转换方法如下:    // 对 result.imageAsset 进行系统转换需要对使用设备的系统版本机型判断
    TuSDKTSPHAsset *assetWrapPH = (TuSDKTSPHAsset *)result.imageAsset;
    NSLog(@"phassets: %@",assetWrapPH.asset);
    TuSDKTSALAsset *assetWrapAL = (TuSDKTSALAsset *)result.imageAsset;
    NSLog(@"alassets: %@",assetWrapAL.asset);
            
                ©2019-2025 TUTUCLOUD. All Rights Reserved. 杭州元凡视觉智能科技有限公司 | 浙ICP备14040447号-1 | 
浙公网安备33010602001649号