gpt4 book ai didi

cocoa - Swift 中的 Array 如何知道它是否包含一个元素?

转载 作者:可可西里 更新时间:2023-11-01 01:43:35 25 4
gpt4 key购买 nike

Swift 中的数组可以存储任何 Swift 类型,包括 Struct、Enum 和 Class 实例。但是没有函数 == 能够比较任何类型的 Swift 对象。而 === 运算符也只能比较两个引用。所以我想知道,当函数 contains() 被调用时,Swift 中的数组如何知道它包含一个元素。

最佳答案

如果您查看函数签名:

func contains<S : SequenceType where S.Generator.Element : Equatable>(seq: S, x: S.Generator.Element) -> Bool

你看到数组中的元素必须是实现 Equatable 协议(protocol)的类型,它只包含一个方法:

func ==(lhs: Self, rhs: Self) -> Bool

因此可以使用任何实现 Equatable 协议(protocol)的类型。

如果您定义自己的类(或结构等),要使用contains,您只需实现该协议(protocol)。

关于cocoa - Swift 中的 Array 如何知道它是否包含一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26326091/

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