gpt4 book ai didi

任何协议(protocol)的 Swift 2.0 协议(protocol)扩展

转载 作者:可可西里 更新时间:2023-11-01 01:03:15 26 4
gpt4 key购买 nike

我试图在 swift 2.0 中的任何协议(protocol)上添加一个方法,但我收到此错误,无法扩展非标称类型“任何”(又名协议(protocol)<>)。

知道为什么我无法向 Any 类型添加协议(protocol)扩展吗?此限制的可能解决方法是什么?我的意图是添加一个名为 isPrimitiveType 的 getter,如果对象是原始对象或实际对象,它会返回 true。

最佳答案

从 Swift 2.1 开始,您不能扩展像 AnyAnyObject 这样的协议(protocol)。也许将来你可以做到这一点。

作为解决方法,您可以使用通用的全局自由函数:

func isPrimitive<T>(value: T) -> Bool {
return value is String || value is Bool || value is Int || value is Float || value is Double
}

关于任何协议(protocol)的 Swift 2.0 协议(protocol)扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33596067/

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