问题标签 [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 投票
3 回答
2380 浏览

swift - 试图访问 IndexSet 中的某些元素

我正在使用IndexSet并且我正在尝试访问一些有时是连续的而在其他时候不是连续的索引。

例如,我的集合可能包含[1, 2, 3, 5, 6, 7, 13, 31]

我想从集合中抽出3...13,但语法有困难。我通过使用myIndexSet.sorted(). 但是,Apple 文档没有给出如何访问集合中一系列元素的示例。用于访问索引集中元素的 Apple 文档如下:

我已经尝试了很多方法来写这个,但无法弄清楚如何正确地做到这一点。有人可以告诉我如何访问集合中的一系列元素来创建一个新集合吗?我已经尝试过诸如:

但它似乎不起作用。

谢谢

0 投票
2 回答
47 浏览

objective-c - 为什么__block不向数组添加值

我正在枚举块内的范围并将值存储在数组中。我希望使用 __block 应该将块内的值存储到数组中?

但这导致

位置是 4, 2 位置是 8, 2 位置是 14, 2

对于数组

(无效的)

我希望数组充满值。

0 投票
1 回答
27 浏览

ios - UITableView commitEditingStyle:用于展开和折叠部分

我有一个带有展开和折叠部分的 UITableView。每个节标题实际上是每个节的索引 0 处的行。假设该部分包含六个项目,点击标题行(索引 0)会导致另外六行添加到该部分,总共七行。效果很好,看起来不错,展开和折叠平滑干净。该代码主要基于此处可以看到的内容:https ://www.cocoanetics.com/2011/03/expandingcollapsing-tableview-sections

其关键部分是在任何给定时间扩展的部分的索引都存储在 NSMutableIndexSet 中。因此,每次加载表视图时,它都会查询 self.expandedSections 以查看它是否应该加载所有行、显示文件夹内容,还是只加载包含文件夹名称的第一行。

当用户需要删除文件夹时,问题就来了。如果表视图包含索引高于被删除文件夹的任何扩展部分,我会遇到以下崩溃:

'无效更新:第 1 节中的行数无效。更新后现有节中包含的行数 (1) 必须等于更新前该节中包含的行数 (7),加上或减去从该部分插入或删除的行数(0 插入,0 删除)加上或减去移入或移出该部分的行数(0 移入,0 移出)。

这个错误是不言自明的,事实上,苹果公司的某个人已经努力使它尽可能明确。但是,我找不到解决方法。删除代码如下所示:

这在 tableView:commitEditingStyle:forRowAtIndexPath: 中调用:

任何建议都非常感谢!

0 投票
1 回答
411 浏览

swift - 如何使用 SwiftUI 的 onDelete() 函数访问数组位置

我正在尝试将 UI 删除与从 CloudKit 中删除记录同步。SwiftUI 具有onDelete()您可以添加到列表视图的功能,该功能为您提供滑动删除手势。我正在尝试使用它来访问已删除项目在数组中的位置,以便我可以在另一个函数中引用它来处理从 Cloud Kit 中的删除。以下是 SwiftUI 的设置方式onDelete()

下面是我的自定义行视图。并没有真正增加问题,但以防万一。

下面是目前的删除功能,它提供滑动手势并从列表视图中删除条目。如前所述,我现在正试图破译该行在数组中的位置,因此我可以在另一个函数中调用它并继续从 CloudKit 中删除该条目。

0 投票
0 回答
25 浏览

objective-c - Objective-C NSIndexSet / NSArray - 使用标准开发从集合中选择“最佳”索引

我现在有一个关于使用标准偏差的问题。如果我在我的情况下正确使用它,如下所述。

索引都是唯一的,这里有几个关于标准偏差的问题:1)由于我使用了所有数据,我应该使用总体标准偏差还是
应该使用样本标准偏差?2)完整播放列表的长度(范围)是多少(1...15)是否重要

我有一个程序,它需要一个歌曲播放列表并从 Spotify 获取每首歌曲的推荐。

假设播放列表的长度为 15。
每个曲目都有一组大约 30 首曲目的 Suggestions。
最后,我的程序将过滤掉所有建议,以创建一个只有 15 首曲目的新播放列表。

经常有重复的被推荐。
我设计了一种方法来查找这些重复项,然后将它们的索引放入 NSIndexSet。


在我的示例中,在索引 4、6、7、12 处为原始播放列表中的曲目建议了重复曲目

我试图计算出哪个是最好的重复选择。所有 NSSet 方法等都不会帮助我,也不会考虑重复的“位置”在哪里。对我来说,在“区域”内建议的曲目越频繁,在最终建议的播放器中的该位置“使用”它最有意义。

最初我只是选择最接近平均值的指数(7.25)
,但对我来说,我认为 6 会比 7 更好
。12 似乎把它扔掉了。

所以我开始调查 StdDev 并认为这可以帮助我解决
你认为我在这里的方法是什么?




我应该使用哪个 SD?
或者这很重要

我了解到 SD 是平均值的范围,
所以我想我会计算出这些值是什么。



所以我想这个新范围是否会给我一个更好的范围,
包括更准确的 stdDev 而不包括 12。


我从仅包含从我的新 dupeStdDevRange 中 包含的索引的原始索引集创建一个 newIndexSet


// stdDevIndexSet 的索引 = 4, 6, 7

新的 stdDevIndexSet 现在包括索引 4,6,7
12 不包括在内,这是很好的原因,我认为这是抛弃一切

现在有了这个新的“stdDevIndexSet”,我将它与原始 IndexSet 进行对比。如果 stdDevIndexSet 计数较少,那么我将这个新的 indexSet 重新加载到整个过程中并再次计算所有内容。



所以它是不同的,所以我重新开始整个过程​​,索引集
包括 4,6,7

更新的计算

newTrimmed IndexSet 现在“适合”标准偏差范围。

因此,如果我使用四舍五入到 6 的新平均值。

我最好使用的索引是原始索引中的 6 (4, 6, 7, 12),
现在发送给我。


这么大的问题我是否正确地解决了这个问题?

“潜在”范围的原始大小(长度)之类的东西重要吗?
IE 如果原始播放列表长度是 20 首曲目而不是 40 首曲目?(我认为不是)。

0 投票
2 回答
116 浏览

ios - 如何使用 IndexSet 在自定义结构中查找项目

我正在尝试.delete在列表中使用 SwiftUI 的方法来识别HKWorkout用户尝试删除的内容,但是由于我将锻炼打包到自定义 WorkoutMonth 对象中,我很难弄清楚如何深入了解特定的锻炼用户正在点击?在 UIKIT 中,我能够使用indexPath.sectionindexPath.row找到它,但在这里我迷路了。

0 投票
1 回答
44 浏览

core-data - SwiftUI,Core Data - 使用上下文菜单删除列表项

我正在尝试使用上下文菜单删除列表项。数据是从核心数据中获取的。

.onDelete 与我的 deleteExercise 函数按预期工作,无需进一步操作。但是当在上下文菜单按钮中调用 deleteExercise 时,它​​会询问我真的不知道从哪里得到的 IndexSet。

我也想知道为什么我在使用 .onDelete 时不需要指定 IndexSet