问题标签 [nsindexset]

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 投票
0 回答
34 浏览

ios - 使用 indexSet 将对象添加到数组开头时遇到问题

我正在从 Parse.com 后端下载消息对象。我想获取这个下载的消息数组并将它们插入到我的本地消息数组的开头。我正在尝试使用下面的代码:

我没有收到任何错误消息,但由于某种原因,它只是没有添加到数组中。我是否以正确的方式创建范围?

0 投票
0 回答
490 浏览

ios - 从 NSIndexSet 获取索引数组?

要调用UICollectionView's deleteItemsAtIndexPaths,我需要 indexPaths 数组。但我把它们放在一个NSIndexSet. 任何优雅的方式来检索它,而不是通过循环?

0 投票
1 回答
149 浏览

cocoa - NSOutlineView 子类崩溃 - NSRangeException

我有一个 NSOutlineView 的子类,它监听 NSManagedObjectContext 更改通知并相应地更新 outlineView。我在某个时候遇到了一个奇怪的崩溃,我的用户正在报告(我无法自己重现)......崩溃本身就是一个直截了当的 NSRangeException:

但令人困惑的部分是发生这种情况的代码:

现在,如果我检查 NSNotFound 和 0,为什么indexSetWithIndex:(scrollPosition-1)仍然给出 NSRangeException?我还能检查什么来确保 scollPosition 有效或无效?

不确定这是否相关,但只有当我的核心数据堆栈连接到 iCloud 并且我得到 NSPersistentStoreDidImportUbiquitousContentChangesNotification 并且我使用上下文对通知执行 mergeChangesFromContextDidSaveNotification 时才会发生这种情况。

0 投票
1 回答
80 浏览

objective-c - NSDictionary 中键的索引计数何时大于 1?

在这段代码中,我正在检查字典中的所有键并将其与搜索项进行比较。

这本词典什么时候有多个具有相同搜索项的键?

我对键的了解是它们是唯一的,但是此代码为与特定搜索项匹配的所有键的出现维护一个索引集。

0 投票
1 回答
1848 浏览

macos - NSIndexSet.enumerateIndexesUsingBlock 使用 Swift 闭包

我正在编写一种将数据从表视图复制到粘贴板的方法,但是如果选择了任何行,它应该专门只复制所选行中的数据,所以我需要遍历索引集......

我在将方法签名解释为我应该如何编写闭包代码时遇到了一些麻烦。我得到的错误信息也不是特别清楚(Cannot invoke 'enumerateIndexesUsingBlock' with an argument list of type '((_, _) -> Int)')。有人可以帮我吗?

编辑:

工作方法:

0 投票
0 回答
72 浏览

nskeyedarchiver - NSIndexSet 如何成为根对象?

这是使用拖放重新排序表格时的典型代码片段。

看线

rowIndexes 如何成为根对象?

文档说 NSIndexSet 类表示唯一无符号整数的不可变集合......您在代码中使用索引集将索引存储到其他数据结构中。例如,给定一个 NSArray 对象,您可以使用索引集来标识该数组中的对象子集。

似乎 NSIndexSet 不仅仅是“唯一无符号整数的不可变集合”,而且是一组标识对象的指针。很混乱,谁能解释一下是怎么回事?

0 投票
1 回答
94 浏览

swift - 如何在调用 ObjC 类时正确使用短 Swift 闭包

我想在对类{$0 > 1}的调用中使用简短的闭包形式:NSIndexSet

但它给了我

无法使用“((_)-> _)”类型的参数列表调用“indexesPassingTest”

但这有效:indexSet.indexesPassingTest(){(i,s) in i > 1}尽管类型名称仍然不存在。

这是一个错误还是我错过了什么?

0 投票
1 回答
91 浏览

ios - Objective C逻辑或运算符不在块中评估

我正在尝试检查哪个数组元素的值彼此相等或等于NSNumber10。数组的计数为 15。问题是,当我针对NSNumber10 中的值测试值时if statement,代码似乎没有评估。

例如,在下面的数组中,代码应返回索引 0 中的值存在于索引 {0,9,10} 中,因为NSNumber1 存在于索引 0 和 10 中,而NSNumber10 存在于索引 9 中。

1-2-3-4-5-6-7-8-9-10-1-2-3-4-5

但是,它只评估NSNumber索引 0 中的值是否等于NSNumber1 而不是NSNumber10。输出不是预期的 {0, 9, 10} 而是只有 {0, 10}。

0 投票
2 回答
172 浏览

objective-c - 来自 NSIndexSet 的随机索引

我需要从包含在NSIndexSet.

作为参考,NSSet定义了从集合中挑选任意对象的-anyObject方法(文档)。中是否有类似的功能NSIndexSet(事实证明 -anyObject 不能保证从集合中返回一个随机对象。)

如果没有,如何实施?

注意:我在这里找到了一个实现,但它涉及对索引集元素的迭代。理想情况下,我想避免枚举。

编辑:令我失望的是,不能保证从集合中返回随机对象的NSSet状态文档。-anyObject不幸的是NSIndexSet,关于实施-getIndexes:maxCount:inIndexRange:

0 投票
1 回答
638 浏览

ios - NSArray 的子数组排序后的 NSIndexSet

假设我有NSIndexSet数组索引。我想对此进行排序NSIndexSet取决于NSArray.

所以,假设我们有数组:

和索引集

所以这个索引的“子数组”将是

所以我想要的是:

如何做到这一点?