- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 Core Data 时遇到了问题。应用程序崩溃,因为当我插入一个新元素时,我尝试访问一个不存在但它应该存在的单元格。
重要的代码:
func controllerWillChangeContent(controller: NSFetchedResultsController) {
tableView.beginUpdates()
}
func controllerDidChangeContent(controller: NSFetchedResultsController) {
tableView.endUpdates()
}
func controller(controller: NSFetchedResultsController, didChangeObject anObject: AnyObject, atIndexPath indexPath: NSIndexPath?, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath?) {
switch type {
case .Insert:
if let indexPath = newIndexPath {
self.tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: .Fade) // This doesn't work
print(indexPath) // Returns row 0 section 0
print(tableView.numberOfRowsInSection(0)) // Returns 0
print(tableView.cellForRowAtIndexPath(indexPath)) // Returns nil
let cell = tableView.cellForRowAtIndexPath(indexPath) as! myCell // App crashes here because cell is nil
configureCell(cell, atIndexPath: indexPath)
self.tableView.backgroundView = nil
}
崩溃日志:
<UITableView: 0x7ffb1b8c3000; frame = (0 64; 375 554); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7ffb1ae9a620>; layer = <CALayer: 0x7ffb1ae92b40>; contentOffset: {0, 0}; contentSize: {375, 10}>
<NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0}
0
nil
fatal error: unexpectedly found nil while unwrapping an Optional value
很抱歉将日志作为代码,但是 block 引用存在错误,不会显示完整的日志。
这很奇怪,因为它之前工作正常。我只是对代码做了一些更改(代码片段包括更改)但没有触及 insertRowsAtIndexPaths
,现在它不起作用。
最佳答案
这很正常!实际上,UITableView
上的 cellForRowAtIndexPath
“返回表示表格单元格的对象,如果单元格不可见或 indexPath 超出范围,则返回 nil”。 (Source)。
因此,您无法访问此单元格,因为它对于 UITableView
尚不存在(您正在添加它!)。请将您的 configureCell
调用移动到您的数据源 tableView(_:cellForRowAt:)
。
关于swift - UITableView.insertRowsAtIndexPaths 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39116556/
我使用以下方法在表中添加新行: [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath] withRowAnim
我面临这个错误: Assertion failure in -[UITableView _endCellAnimationsWithContext:] 当我尝试使用 insertRowsAtIndex
我有一个包含 uitableview 的导航 Controller ,当我按下一行时,它会在堆栈上弹出一个新的 View Controller ,该 Controller 用于在详细 View 中显示
我正在尝试在用户滚动时将行动态添加到 TableView 的底部。这个想法是用户不会注意到这一点,并且可以“无限”地滚动。 当用户到达表格底部的 40 个单元格时,我想在底部绘制 100 个新单元格。
我浏览了所有在线示例,但无法弄清楚如何正确地将单元格添加到带有动画的 TableView 中。假设我有一个包含一个单元格的部分,我想在用户点击第一个单元格的附件后添加另一个单元格。 我的“添加”方法是
我的应用程序运行良好,我没有将其修改为具有专用的数据 Controller 类,而不是像在初始测试期间那样在主 UI 类中处理数据。然而,自从更改以来,当向 TableView 添加新项目时,它不断崩
* 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试将第 0 行插入第 0 部分,但更新后第 0 部分中只有 0 行” 我意识到这里的问
搜索了又搜索..找不到答案:| 我很确定我正确使用了 insertRowsAtIndexPaths...这是我的代码,以及我收到的错误... 首先,我收到服务器返回的响应,其中包含我想要动态插入到静态
我正在尝试为我的表格 View 实现 insertRowsAtIndexPaths。 在此实现之前,我曾经在用户点击表末尾后调用[self.tableView reloadData]。这种方法有点影响
我在使用 Core Data 时遇到了问题。应用程序崩溃,因为当我插入一个新元素时,我尝试访问一个不存在但它应该存在的单元格。 重要的代码: func controllerWillChangeCont
我有一个 uitableview,我尝试通过 insertRowsAtIndexPaths 函数附加它。如果我只是将数据添加到数据源数组,uitableview 会很好地追加,但让我很难通过上述函数插
我需要在所选行下添加一个新行。我在 didSelectRowAtIndexPath 中使用此代码: [_dataSource insertObject:newDataObject atIndex:in
我正在尝试使用 insertRowsAtIndexPaths 一步将一堆行插入到一个空的 UITableView 中。 (我知道这听起来没什么用,但它是我真正需要做的事情的简化版本。) 我看到的问题是
我有一个UITableView,用户可以在其中插入新行。发生这种情况时,我想重新加载表中的所有旧行。一种解决方案是在插入发生后立即调用 reloadData,这完全有效,但这意味着我看不到插入动画。
我有一个从获取的结果 Controller 填充的表格 View 。我还使用 NSTimer 每分钟进行一次 API 调用,从而引入要显示的任何新数据。这使用带有新托管对象上下文的 GCD 异步发生,
它不会每次都发生,但会随机 insertRowsAtIndexPaths: 使我的应用程序在 tableviews endUpdates 上崩溃。这是代码。 NSURLRequest *request
我正在使用 insertRowsAtIndexPaths 方法向 UITableView 添加行。我将此代码放在 [myTable beginUpdates]; 和 [myTable endUpdat
在表更新之前,我的表数据源只有一个部分,一行: 第 0 节 第 [0,0] 行 更新后数据源返回另外两个部分,每个部分只有一行: 第 0 节 第 [0,0] 行 第 1 节 第 [1,0] 行 第 2
我目前正在使用以下代码在我的 UITableView 中插入单元格: [rottenTableView insertRowsAtIndexPaths:indexPathsToInsert withRo
我正在使用 insertRowsAtIndexPaths 方法将新行添加到我的 UITableView。存在添加重复行的问题。 例如,如果我键入 "HI",然后触摸回车,则会向表格中添加包含文本 "H
我是一名优秀的程序员,十分优秀!