问题标签 [indexpath]

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 回答
411 浏览

ios - Swift iOS - 如何将直接从 TableViewCell 的子类中获取的值传递给 TableView 的 didSelectRow?

在有人建议从 PlayerController 的 viewWillAppear 中提取 Firebase 数据之前,我已经知道如何做到这一点,如果我这样做了,我知道如何将数据传递给 ScoreController。在这种情况下,我需要直接从单元格内提取数据,并以某种方式将数据从那里传回。

我在 PlayerController 中有一个 tableView,它显示了每个玩家的 randomPower、name 和 score。在 tableView 的单元格中,我使用函数从 Firebase 中提取名称和分数getScoreDataFromFirebase()。该函数直接位于 tableView 的 PlayerCell 内部,一旦我从 Firebase 获取值,我就会立即初始化单元格的名称和得分点。

在我调用 tableView 的 cellForRowAtIndexPath 内部cell.getScoreDataFromFirebase(),一切正常,因为两个出口都显示正确的值。

从那时起,我有了一个 ScoreController。When a tableView cell is chosen the score is sent to the ScoreController.

问题是因为我直接从单元格本身中提取数据,所以我可以将分数(从 Firebase 中提取)传递给 ScoreController 的唯一方法是首先didSet在单元格内设置一个分数属性。

当我从 Firebase 2nd 提取分数数据时仍在单元格内,我用它初始化 score 属性

在 tableView 的 cellForAtIndexPath 中的第三个我使用 anif let将值从单元格的 score 属性传递给 tableData。

当我第一次尝试将该 tableData 的 indexPath 发送到 ScoreController 时,有时它为零,即使单元格的 score 属性肯定有一个值(我曾经断点检查)。如果我选择前几个可见的 tableView 单元格中的任何一个,它们的 score 属性将具有 nil 值。但是,如果我进一步向下滚动单元格并向后滚动,那么这些相同的单元格将不再具有 nil score 属性。

我发现该if let语句在 Firebase 代码被提取之前正在运行,因此对于现场的前几个单元格,分数属性为零。奇怪的是,一旦我开始滚动,一切正常。

如何将直接从单元格中提取的值传递给 tableView 的 didSelectRow?

播放器型号:

TableViewCell 子类:

表视图:

0 投票
2 回答
3652 浏览

ios - 在函数 Swift 中访问数组的 indexPath

我正在尝试访问indexPath函数内部的数组以更新该数组的数据,但我不知道如何将其indexPath作为参数(尤其是调用时传递的内容)传递给函数,或者这是否是解决方案。

我包含cellForRowAt说明这个函数是如何访问indexPath的。

0 投票
2 回答
57 浏览

arrays - 如何在数组中引用 UILabel 或 UIButton 集合 indexPath

我要这个 ..

你能帮我吗

0 投票
1 回答
46 浏览

ios - 持久化 UINib 数组

我有一个问题,我在那里找不到任何信息......问题是我有一个自定义 UINib 数组,在我将它们创建为 CustomTableViewCell 之后,它们每个都有自己的标准类。

在这个数组中,我存储了 3 个 UINib,它们是 TableViewCells,我想在拖放它们之后保持它们的重新排序。

我现在已经创建了一个全局数组,我的所有 ViewController 都可以访问它。

在 viewDidLoad 我尝试过这样的事情:

我现在在努力坚持他们在数组中的顺序。我已经尝试过 Realm、Core Data 和 UserDefaults,但我找不到任何解决方案。但我猜问题是他们对 UINibs 不满意

这些 Nib 每个都代表 UITableView 中的一个单元格,并且在用户能够按照自己喜欢的方式移动单元格之后,重新打开应用程序后顺序当然应该保持不变。因此,如果我做对了,我只需要保留 IndexPath 但我找不到任何有用的信息......

我希望我能在这里找到帮助 - 请不要说我刚刚开始 Swift 和 iOS 开发,也许我尝试的东西根本不可能 - 也许你有一个快速提示,一些教程,片段,书籍或一些想法或任何东西方向。我愿意学习,也许我只是解释错误的东西会很棒!多谢!

0 投票
2 回答
143 浏览

ios - Swift:使用 sectionNameKeyPath 的单元格的 indexPath

目前,我刚刚开始在 Swift 的核心数据中使用 NSFetchedResultsController 中的 sectionNameKeyPath /

我的应用程序的图像

最初,我不知道如何将不同的单元格分成各自的日期。但是现在我已经将单元格分成了各自的日期,它们的 indexPath 都搞砸了,因为当我执行 segue 以导致第二个 viewController 时,值被搞砸了。

例如

  • 第二个 $42.5 -> $9.0,
  • 10 美元 -> 9.0 美元,
  • 72.0 美元 -> 42.5 美元,
  • $0.0 -> $99.0 和 $9.0 -> $10.0

如果有人能教我如何在从 coreData 获取后正确调整 indexPath 以适应每个部分,那将真的很有帮助。

这是我获取数据的代码

PS我认为这可能与我的“didSelectRowAt”有关

0 投票
1 回答
1429 浏览

swift - (Swift) UITableView - 尝试将索引路径移动到不存在的索引路径

我有一个由 2 个部分组成的 UITableView。行最初打印在第 0 节中。它们必须可以在节之间移动。

当我将单元格从第 0 节移动到第 1 节时,我得到:

这是我的代码。

这些都返回正确的值:

关于如何解决这个问题的任何想法?

更新:

我查看了 fetchedResultsControllerDelegate ,现在我有了这个:

现在错误是无效更新:

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

我正在删除然后插入,所以从技术上讲,行数应该仍然相同。

0 投票
5 回答
7278 浏览

ios - 获取一个section中的所有indexPaths

在对表格视图数据进行某种排序后,我需要重新加载不包括标题的部分。也就是说我只想重新加载该部分中的所有行。但是经过一段时间的搜索,我没有找到一种简单的方法。

reloadSections(sectionIndex, with: .none)在这里不起作用,因为它将重新加载整个部分,包括页眉、页脚和所有行。

所以我需要reloadRows(at: [IndexPath], with: UITableViewRowAnimation)改用。但是如何获取该部分中所有行的整个 indexPaths。

0 投票
2 回答
1266 浏览

ios - IOS/Swift:将表视图中的对象传递给详细视图控制器

我正在尝试从 tableview 中获取一个对象并将其传递给详细视图,我知道如何在 Objective-C 中执行此操作,但我是第一次学习 Swift。但是,我的代码没有从索引路径或对象中获取行。

这是我的代码。

谁能明白为什么我没有得到行或对象?在此先感谢您的任何建议。

编辑:

我得到它与以下工作:

0 投票
2 回答
271 浏览

ios - 如何在 TableView 的 CollectionView 中获取图像的索引路径?

在我的程序中,TableView的每一行都有一个Collection,每个CollectionView有几个Images。我在方法中设置了Tagand UITapGestureRecognizerfor image collectionView(_:, cellForItemAt:),但是Tag只能表示图片在CollectionView中的位置。如何知道被点击的图片在 Table 中的位置,并将 TableView 的行和 Collection 的行传递给UITapGestureRecognizer(target:, action: #selector())方法?

0 投票
1 回答
1438 浏览

ios - 在集合视图中找到中间单元格并更改其内容

我的目标是在中间单元格中有全文,在其他单元格中截断文本,但是随着中间单元格的变化,这种样式不应该改变(意味着中间的一个全文和其他的被截断)。

预设:在水平滚动的集合视图中无限滚动,单元格中有标签。

我有 3 个单元格,它们应该看起来像这样 [ 1D ]---[ 1 Day ]---[ 1D ]