gpt4 book ai didi

macos - 如何禁用 NSMutableSet 中所有对象的排序?

转载 作者:行者123 更新时间:2023-12-03 17:33:54 27 4
gpt4 key购买 nike

在我的 OSX 应用程序中,我有包含自定义对象的 NSMutableSet。我在自定义对象类中实现了 -isEqual 和 -hash 方法,以便该集合可以按照我想要的方式进行比较。

但是,每当我将新对象插入集合中然后调用 -allObjects 时,返回的数组都会按排序顺序排列对象。

顺序取决于我在上述 -isEqual 方法中用于比较自定义对象的属性值。

就我而言,我想保留对象添加到集合中的顺序。

有人知道如何实现这一目标吗?

非常感谢任何形式的帮助!

最佳答案

集合没有顺序,它们是专门设计为无序集合的。当您调用 allObjects 来获取数组时,您获取的顺序未定义,因此您不应依赖它。

如果您想继续使用集合,这里有 2 个基本选项。

  1. 收到阵列后手动订购阵列。

  2. 使用 NSOrderedSet 来维护顺序。

关于macos - 如何禁用 NSMutableSet 中所有对象的排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25128047/

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