gpt4 book ai didi

ios - 使 Collection 符合自定义协议(protocol)

转载 作者:行者123 更新时间:2023-11-30 11:03:31 24 4
gpt4 key购买 nike

我想为所有具有 isEmpty 的集合类型添加一个通用参数,这样当我尝试创建 Collection 时,它们也可以具有 isNotEmpty符合Occupiable我得到一个编译错误

error here : Extension of protocol 'Collection' cannot have an inheritance clause

String 也符合 Array 固有的协议(protocol),因此一旦我们找到上述问题的解决方案,我们是否可以删除 extension String: Occupiable { }

// Anything that can hold a value (strings, arrays, etc)
protocol Occupiable {
var isEmpty: Bool { get }
var isNotEmpty: Bool { get }
}

// Give a default implementation of isNotEmpty, so conformance only requires one implementation
extension Occupiable {
var isNotEmpty: Bool {
return !isEmpty
}
}

extension String: Occupiable { }

// error here : Extension of protocol 'Collection'
// cannot have an inheritance clause
extension Collection: Occupiable { }

最佳答案

您需要设置一致性约束。这将修复该错误。

extension Collection where Self: Occupiable { }

关于ios - 使 Collection 符合自定义协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53008288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com