问题标签 [nsmutableset]

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.

0 投票
1 回答
117 浏览

objective-c - 在其他对象内部的容器中添加对象为空,带弧

我正在使用 Apple 的 ARC。我有两个类:一个有一个 NSMutableSet,一个我想放在那个 NSMutableSet 里面。

因此,当我执行以下操作时:

结果是: (null) (null) (null) (null) 等。

这是否意味着 ARC 正在发布 SmallClass?我该如何解决它(我当然不能保留)?在 myclass 实例上调用 copy 会导致错误,因为我没有为 myClass 实现 copy (以 ARC 之前的方式,我只会保留它)。

容器类代码:

和实施:

0 投票
1 回答
199 浏览

objective-c - NSMutableDictionary 为每个值应用公式的最有效方法

我有一个带有 NSNumbers 的 NSMutableDictionary。当我完成构建集合时,我需要使用当前存储的值本身重新计算所有值。现在我正在使用快速枚举并存储到一个新的 NSMutableSet 中,但我没有使用 Objective C 的经验,必须有一种更有效的方法来做到这一点:

最后我按值排序(这就是我使用 NSMutableSet 的原因)。

0 投票
1 回答
3824 浏览

objective-c - NSMutableSet 包含重复项

我有一个名为的自定义类card,我需要从一组随机大小的卡片中创建一组 10 张唯一卡片。此外,我需要先包含所有列入白名单的卡片,以确保它们始终包含在内。

我的问题是来自白名单(并且只有白名单)的卡片可能在集合中重复。随机添加的卡片永远不会重复,并且计数始终正确(10)。我不明白为什么isEqual有时似乎有效,但并非总是如此。

这是我创建集合的地方(randoms是要从中挑选的潜在卡片数组):

我根据此处回答的另一个问题覆盖了isEqual我的班级的方法:card

它似乎工作得很好,除了当我添加白名单卡时,我无法弄清楚我是如何得到重复的(但永远不会超过 2 个副本)。

0 投票
6 回答
4907 浏览

objective-c - 排序 NSMutableSet

我必须使用NSMutableSet来存储我的字符串对象。我想以正确的顺序存储它们,例如从最小到最大的数字:

如果这样做:

我没有得到我想要的,而是这个:

所以我想我需要对它们进行排序以获得想要的结果?但我真的找不到任何例子。

也许有人可以帮助我吗?

谢谢。

编辑: 我不能使用其他。只是NSMutableSetNSSet

0 投票
2 回答
3165 浏览

objective-c - NSMutableSet 不添加对象

我的代码没有向我的集合中添加元素。

我的头文件如下:

我的 .m 文件:

日志输出:

[4187:fb03] 测试物质TextField 值:Omega 3-6-9 [4187:fb03] 确实找到了名称:Omega 3-6-9 和 class_name 为:NHP [4187:fb03] NHP 被发现添加到nhp 列表 [4187:fb03] 添加 0 后的 NHP 计数 [4187:fb03] NHP 列表:0 DrugList:0 UserList:0

0 投票
2 回答
122 浏览

iphone - 不能向 NSMutableSet 添加超过 3 个对象

制作了一个名为 Item 的自定义 obj,其中包含一些字符串字段和一个浮点数。

执行:

现在,我将 NSMutableSet(itemsAdded 是另一个类的属性)初始化为 [[NSMutableSet alloc]init] 并且我不能向其中添加超过 3 个 Item 对象。顺便说一句,项目以非常奇怪的方式添加......

这就是我得到的:

看看那里打印了 2 次,该套装有 2 个项目,但此时必须有 3 个项目。它随机工作,可以打印 2 个项目超过 2 次。对添加超过 3 个项目也没有反应。只有 3 个项目持续 4ever。这是为什么?我做错了什么?

0 投票
2 回答
249 浏览

iphone - 尝试将对象添加到 MutableOrderedSet 时发送到已释放实例的 IsEqual 方法

我有一个 NSMutableOrdered 集,其中包含两种类型的对象(我创建的),即 Pieces 和 Others。

Piece 和 Other 都有它们的 isEqual 方法,如下所示:

片:

其他:

我还覆盖了两个类的散列,为每个实例创建一个唯一的散列(通过获取 ivars 的 int 值并添加它们)。

在我的应用程序中,从集合中删除了另一个,然后当我尝试向集合中添加一块时,我得到了这个:

这是哈希方法:

如果有人知道为什么会这样,我真的会提供一些帮助。

谢谢,

0 投票
3 回答
7841 浏览

iphone - Objective c - NSMutableSet 唯一的对象属性

在我的应用程序中,我有一个Person带有personId属性的类。
现在我需要一些数据结构来保存一堆独特的Person对象(独特的=不同的personId)

所以我想我应该使用 NSMutableSet 作为我的数据结构,但是如何让 NSMutableSetpersonId在添加一个人时比较属性(所以我不会再添加同一个人)?

我的目标是始终拥有一组独特的人(即使我添加了两个具有相同 ID 的人),我希望 NSMutableSet 将为我完成所有艰苦的工作,如果我要添加一个已经存在的人它不会添加两次。

0 投票
3 回答
472 浏览

objective-c - How to set object count to zero(or some value) in NSCountedSet?

I have following NSCountedSet

Now i want to remove item1 object from my set.
one solution is

Output:

or i want to remove only 1000 item1 object from my set.

Output:

is there any better solution for this ?

0 投票
2 回答
702 浏览

objective-c - 为什么NSOrderedMutableSet会添加数据相同的对象?

我正在使用创建对象并将它们添加到集合中-[NSOrderedMutableSet addObject:],但我发现只检查对象本身的重复项——大概是对象指针的地址,并且可以添加具有相同内容的多个对象。

例如:

计数将是 2。

这让我想知道这些课程的意义是什么?在什么情况下可能有一个对象,但不知道对象本身是否已经被添加到集合中,而不是对象中包含的数据?

使用什么最简单的方法(或者我应该使用什么类)来确保集合仅包含基于内容的每个对象之一?