问题标签 [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.
objective-c - 在其他对象内部的容器中添加对象为空,带弧
我正在使用 Apple 的 ARC。我有两个类:一个有一个 NSMutableSet,一个我想放在那个 NSMutableSet 里面。
因此,当我执行以下操作时:
结果是: (null) (null) (null) (null) 等。
这是否意味着 ARC 正在发布 SmallClass?我该如何解决它(我当然不能保留)?在 myclass 实例上调用 copy 会导致错误,因为我没有为 myClass 实现 copy (以 ARC 之前的方式,我只会保留它)。
容器类代码:
和实施:
objective-c - NSMutableDictionary 为每个值应用公式的最有效方法
我有一个带有 NSNumbers 的 NSMutableDictionary。当我完成构建集合时,我需要使用当前存储的值本身重新计算所有值。现在我正在使用快速枚举并存储到一个新的 NSMutableSet 中,但我没有使用 Objective C 的经验,必须有一种更有效的方法来做到这一点:
最后我按值排序(这就是我使用 NSMutableSet 的原因)。
objective-c - NSMutableSet 包含重复项
我有一个名为的自定义类card
,我需要从一组随机大小的卡片中创建一组 10 张唯一卡片。此外,我需要先包含所有列入白名单的卡片,以确保它们始终包含在内。
我的问题是来自白名单(并且只有白名单)的卡片可能在集合中重复。随机添加的卡片永远不会重复,并且计数始终正确(10)。我不明白为什么isEqual
有时似乎有效,但并非总是如此。
这是我创建集合的地方(randoms
是要从中挑选的潜在卡片数组):
我根据此处回答的另一个问题覆盖了isEqual
我的班级的方法:card
它似乎工作得很好,除了当我添加白名单卡时,我无法弄清楚我是如何得到重复的(但永远不会超过 2 个副本)。
objective-c - 排序 NSMutableSet
我必须使用NSMutableSet
来存储我的字符串对象。我想以正确的顺序存储它们,例如从最小到最大的数字:
如果这样做:
我没有得到我想要的,而是这个:
所以我想我需要对它们进行排序以获得想要的结果?但我真的找不到任何例子。
也许有人可以帮助我吗?
谢谢。
编辑:
我不能使用其他。只是NSMutableSet
或NSSet
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
iphone - 不能向 NSMutableSet 添加超过 3 个对象
制作了一个名为 Item 的自定义 obj,其中包含一些字符串字段和一个浮点数。
执行:
现在,我将 NSMutableSet(itemsAdded 是另一个类的属性)初始化为 [[NSMutableSet alloc]init] 并且我不能向其中添加超过 3 个 Item 对象。顺便说一句,项目以非常奇怪的方式添加......
这就是我得到的:
看看那里打印了 2 次,该套装有 2 个项目,但此时必须有 3 个项目。它随机工作,可以打印 2 个项目超过 2 次。对添加超过 3 个项目也没有反应。只有 3 个项目持续 4ever。这是为什么?我做错了什么?
iphone - 尝试将对象添加到 MutableOrderedSet 时发送到已释放实例的 IsEqual 方法
我有一个 NSMutableOrdered 集,其中包含两种类型的对象(我创建的),即 Pieces 和 Others。
Piece 和 Other 都有它们的 isEqual 方法,如下所示:
片:
其他:
我还覆盖了两个类的散列,为每个实例创建一个唯一的散列(通过获取 ivars 的 int 值并添加它们)。
在我的应用程序中,从集合中删除了另一个,然后当我尝试向集合中添加一块时,我得到了这个:
这是哈希方法:
如果有人知道为什么会这样,我真的会提供一些帮助。
谢谢,
iphone - Objective c - NSMutableSet 唯一的对象属性
在我的应用程序中,我有一个Person
带有personId
属性的类。
现在我需要一些数据结构来保存一堆独特的Person
对象(独特的=不同的personId)
所以我想我应该使用 NSMutableSet 作为我的数据结构,但是如何让 NSMutableSetpersonId
在添加一个人时比较属性(所以我不会再添加同一个人)?
我的目标是始终拥有一组独特的人(即使我添加了两个具有相同 ID 的人),我希望 NSMutableSet 将为我完成所有艰苦的工作,如果我要添加一个已经存在的人它不会添加两次。
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 ?
objective-c - 为什么NSOrderedMutableSet会添加数据相同的对象?
我正在使用创建对象并将它们添加到集合中-[NSOrderedMutableSet addObject:]
,但我发现只检查对象本身的重复项——大概是对象指针的地址,并且可以添加具有相同内容的多个对象。
例如:
计数将是 2。
这让我想知道这些课程的意义是什么?在什么情况下可能有一个对象,但不知道对象本身是否已经被添加到集合中,而不是对象中包含的数据?
使用什么最简单的方法(或者我应该使用什么类)来确保集合仅包含基于内容的每个对象之一?