- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的应用程序中,我有一个 View Controller ,它是 NSFetchedResultsController 的委托(delegate)以及 UITableView 的委托(delegate)和数据源。
当按下导航 Controller 中的添加按钮时,下一个 View 被正确推送,我可以正确添加一个新的 Person 实体。
我的问题是,当按下添加按钮时,随着新 View 的推送,一个空白行被添加到 tableView,并且在正确创建新实体记录后仍然存在
这是添加按钮的目标操作:
- (void)addPerson:(id)sender
{
AddPersonViewController *addPersonController = [[AddPersonViewController alloc] initWithNibName:@"AddPersonViewController" bundle:nil];
[addPersonController setPerson:[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext]];
[self.navigationController pushViewController:addPersonController animated:YES];
}
创建空白行的代码(来自 NSFetchedResultsControllerDelegate 的苹果文档)在这里:
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath {
UITableView *tableView = self.tableView;
switch(type) {
case NSFetchedResultsChangeInsert:
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeDelete:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
case NSFetchedResultsChangeUpdate:
[self configureCell:[tableView cellForRowAtIndexPath:indexPath]
atIndexPath:indexPath];
break;
case NSFetchedResultsChangeMove:
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
withRowAnimation:UITableViewRowAnimationFade];
[tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:newIndexPath]
withRowAnimation:UITableViewRowAnimationFade];
break;
}
}
关于如何停止创建此空白行的任何想法?
最佳答案
打电话
[NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:self.managedObjectContext]
在 addPerson
中创建一个新的 Person 对象并将其添加到托管对象上下文中。如果 TableView 的获取结果 Controller 被配置为获取所有 Person 对象,这将导致这个新对象的新(空白)表行。
我不知道您的 AddPersonViewController
是如何工作的。如果它修改了通过 setPerson
给定的对象,那么应该更新表格行。如果它创建了一个新的 Person 对象,那么第一个(空白)条目将保留。
您可能应该延迟创建新的 Person 对象,直到 AddPersonViewController
具有实际创建和填充对象的所有数据。您可以通过将 insertNewObjectForEntityForName:
调用移动到 AddPersonViewController
,或者在您的 TableView Controller 中使用从 AddPersonViewController< 调用的委托(delegate)方法来执行此操作
.
关于iphone - NSFetchedResultsController 添加实体在 tableView 中插入空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12872090/
我正在使用 LinqToExcel 轻松地将 Excel 数据导入 SQL Server。 var fileName = ConfigurationManager.AppSetting
在我的 MVVM WPF 应用程序中,我使用的是数据绑定(bind)流文档。我使用了 here 描述的技术能够将我的数据绑定(bind)到流文档。 我的流文档绑定(bind)到我的 View 模型中的
好吧,这很难解释。 场景: 我有一个 DataGrid 定义如下: 它有两个 header ,我需要添加数据,我做了很多研究建议使用 Obs
如果用户单击 DataGridView 底部的空白行并将焦点从 DataGridView 移开,则现在单击的行将处于指示对该行进行更改的状态。 是否可以告诉 DataGridView 取消将此行标记为
我必须迭代行并将其添加到列表中,但我得到的总行数是 Excel 工作表中存在的总行数,即 1001 行,但我只有 3 行,包括标题,我必须停止使用行号的大小进行循环。 我的代码是 Sheet
我有一个 csv 文件,其中包含必须从中删除的信息(通过删除相应的列来完成),我得到的输出是我所期望的,除了每行之间还给我空白行。我怎样才能摆脱那些? (我目前没有pandas,所以如果有解决这个问题
我是一名优秀的程序员,十分优秀!