问题标签 [equatable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - Swift work around to make `AnyObject.Type` conform to `Equatable`?
I would like to make AnyClass
(AKA AnyObject.Type
) conform to Equatable
so that when I have an array with AnyClass
elements (Array<AnyClass>
), I can call remove(Element:)
, but this requires Element
to conform to Equatable
.
arrays - Swift 通用数组 Equatable 强制转换
我有一个包含通用数组的 AAA 类。由于Item可能不是 Equatable,所以我不将其编码为class AAA<Item: Equatable>
.
我想在 AAA 类中添加一个删除函数,该函数在 Item 为 Equatable 时可用。通过调用这个函数,它将调用数组扩展中的一个函数。
由于默认情况下Item不是 Equatable,因此以下代码无法编译。
在下一步中,我尝试将项目和项目转换为 Equatable。但是,我找不到任何方法来检查items数组并将其转换为具有 Equatable 元素的数组。
有什么想法或建议吗?谢谢
swift - Index(of:) 和 Equatable 协议
为了使用index(of:)
,我需要使 Person 符合 Equatable 协议。据我所知,Equatable 协议允许比较 2 个实例是否相等。查找索引和比较是否相等之间有什么关系?为什么我必须遵守 Equatable 协议才能使用index(of:)
?
要采用 Equatable 协议,我必须将(==)
运算符实现为静态方法:
我没有在这里比较任何 Person 实例的相等性,为什么我还需要return (lhs.name == rhs.name) && (lhs.age == rhs.age)
?它是干什么用的?有什么关系index(of:)
吗?
抱歉问了这个愚蠢的问题。
arrays - 如何使用 Equatable 创建扩展以删除自定义数组元素?
我创建了自定义数组类型。现在我想在其中再添加一个方法,它可以通过将实际元素作为参数传递来删除数组的元素。我知道如果我们将自定义数组的扩展添加为 Equitable,就可以实现这一点。
下面是我的代理数组代码:
下面是我对代理数组的扩展
swift - AnyObject 尝试强制转换为 Equatable
我有一Equatable
堂课
但我想将 try varvalue
转换为 Equatable,以便获得软等值结果
此代码捕获有关 Generic Equatable 的编译错误
我怎样才能为这门课做正确的 Equatable?
UPD
我想在我的故事板中使用我Item
的UITableViewCell
in。我无法创建通用UITableViewCell
. 如果我尝试将 Item 作为Generic<T: Equatable>
类,我将被迫在我的单元格中指定类型,
但我想将 Item in Cells 用于任何对象
swift - 泛型函数内的 Swift Equatable 泛型类型比较
我有一个Node
像这样的二叉树类:
这些值需要是平等的。
我可以像这样测试公平性:
哪个工作正常,c: true
但是当我编写一个使用节点公平性的通用函数时,我得到了错误:
错误:
我不确定为什么编译器似乎不知道为什么这些值T
是Equatable
或者为什么它不认为T
onleftNode
与T
.node
编码:
按预期给出错误。
进一步研究,它与函数无关,因为当我尝试代码时:
我犯了同样的错误
swift3 - 斯威夫特 | 用 NSObject 设置
我正在尝试使用自定义对象创建一个 Set。这是有效的,如果我使用一组自定义对象,则没有重复项:
我用 NSObject 扩展了我的类,因为 NSObject 已经实现了 Hashable 协议(以及 Equatable)我必须重写 hashValue,这不再起作用,如果我使用一组我的自定义对象有重复,我在这里做错了什么? :
谢谢你的帮助 !
ios - CLLocation 如何实现 Equatable 协议?
在回答关于 SO 的另一个问题时,我发现CLLocation
该类符合Equatable
协议。它使用什么方法来确定相等性?
纬度/经度的精确匹配?纬度/经度和高度的精确匹配?纬度、经度、高度和时间戳的精确匹配?速度和航向如何?CLLocation
仅使用 lat/long 对创建的对象呢?该位置的各种其他值不是可选的,那么使用创建的位置的高度是init(latitude:longitude:)
多少?
swift - Swift 上的通用 Equatable 类
我需要用于NOT类中的任何 Equatable
项目的容器(例如,从情节提要开始的 UI 类)。我需要这样Generic
但它不起作用,Equatable
需要Generic。不存在公共Equatable
类的问题。
好的 - 转到通用!但如果我这样做
那么我将被迫在我的 nonGeneric-UI 类中指定类型。像这样
但是我们又遇到了不存在公共Equatable
类的问题
All Equatable 容器的任何解决方案?
arrays - 在 Swift 4 中使用 reduce 时出现“上下文闭包类型需要 2 个参数”错误
以下代码在 Swift 3 中编译
但产生错误
错误:上下文闭包类型 '(_, _) -> _' 需要 2 个参数,但在闭包主体中使用了 1
在 Swift 4 中。如何将此代码转换为在 Swift 4 中编译?