当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Swift Never exportingCondition(_:)用法及代码示例

实例方法

exportingCondition(_:)

如果项目满足提供的条件,则阻止系统导出项目。

声明

func exportingCondition(_ condition: @escaping (Self.Item) -> Bool) -> _ConditionalTransferRepresentation<Self>

参数

condition

确定项目是否可导出的闭包。

详述

模型类型的某些实例可能具有使它们不适合导出的 state-dependent 条件。例如,Archive 结构仅在具有兼容内容时才支持逗号分隔的文本表示:


struct Archive {
    var supportsCSV: Bool
    func csvData() -> Data
    init(csvData: Data)
}


extension Archive: Transferable {
    static var transferRepresentation: some TransferRepresentation {
        DataRepresentation(contentType: .commaSeparatedText) { archive in
            archive.csvData()
        } importing: { data in Archive(csvData: data) }
            .exportingCondition { archive in archive.supportsCSV }
    }
}

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never exportingCondition(_:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。