我对Swift和iOS开发非常陌生,我遇到了一个我应该预料到的绊脚石……
我已经实现了一个名为Media
的类,它可以包含Data
或Url
,这取决于它包含的媒体类型--目前这是音频和照片,但也将包括视频.
我设法让它允许音频共享没有问题,但当我实现图像共享时,我意识到transferRepresentation
的实现是static
,所以我无法有条件地指定格式或它是否使用我设置的Data
或Url
属性.
所以问题是,这是可能的吗,或者我需要将我的媒体类型划分为不同的类别才能实现这一点?
以下是课程的一部分,以展示我所做的工作.这是我需要somehow更新的transferRepresentation
实现
@Model
class Media: Transferable {
@Attribute(.externalStorage) var file: Data? = nil
var url: String? = nil
public static var transferRepresentation: some TransferRepresentation {
FileRepresentation(exportedContentType: .wav) { audio in
SentTransferredFile(URL(string: "\(AudioHelper.getDocumentsDirectory())\(audio.url!)")!)
}
}
}
这是我到目前为止的设置,所以寻找任何可能的选项,或者如果我需要修改我的类的设置方式,所以它不会使用Media
类作为一个包罗万象的类