- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何访问此 fetchedResultsController 委托(delegate)方法中的对象实际值?
我想根据对象的值设置要删除/更改的行的索引路径部分,因为表有多个数据源
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath
{
....get objects value, e.g. myEntity.city
}
现在我知道该对象将始终属于 myEntity 类(至少最终不确定“anObject”到底指的是什么),但显然当我想设置 myEntity *anEntity = anObject; 的实例时编译器会提示。
我的解决方法是将每个部分的数据放入数组中,并在tableView:commitEditingStyle:forRowAtIndexPath: 我知道哪个部分被调用,我只需要访问indexpath.row。缺点是我必须在每次更改后重新加载数组,并且不能直接使用 fetchedResultsController。
编辑:接受的答案效果很好,这个快捷方式似乎也适合我的目的:
NSString *aString = [anObject valueForKey:@"city"];
最佳答案
编译器确实会提示,但这只是一个警告,因为你没有告诉它会发生什么。很简单:
myEntity *anEntity = (myEntity *)anObject;
也就是说,您确实需要确保它是正确的类,因此添加一点保护是值得的:
if ([anObject isKindOfClass:[myEntity class]) {
myEntity *anEntity = (myEntity *)anObject;
// do stuff
} else {
NSLog(@"Panic / cry / plead");
}
关于ios - 如何获取didChangeObject :(id)anObject (NSfetchedResultsController)中对象的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16680769/
我有一个 UITableView,它使用 2 个 NSFetchedResultsControllers。每个 NSFetchedResultsController 只有一个部分。但是,该表有 4 个
我正在学习 Swift 的同时构建一个博客阅读器。在此,我将数据保存到核心数据,并可以选择将文章标记为“已读”。当我使用 editActionsForRowsAtIndexPath 将它们单独标记为已
我已指定 NSFetchtedResultsController 作为属性... @property (nonatomic, strong) NSFetchedResultsController *c
我有一个带有核心数据的主/细节应用程序。我是核心数据的新手,所以我不明白为什么当我添加一个新实体时 context.save(&error) 返回 false (例如因为我不t 设置非可选属性)fun
我有一个由 NSFetchedResultsController 支持的 UITableView,它显示已被用户添加为书签的项目。项目可以从行内的按钮取消书签,这会导致问题。项目取消书签后,它应该从
我几乎尝试了所有方法,但无法弄清楚哪里出了问题。我有一个 NSFetchedResultsController 并从核心数据中获取一些帖子。然后我有一种方法,可以将新帖子插入同一上下文并保存上下文。通
我正在使用 NSFetchedResultsController 来管理带有 CoreData 的 PSTCollectionView 的实现。当我实现以下方法时,indexPath 和 newInd
这是代码,我通过 Magical Record 保存模型: MagicalRecord.saveWithBlock({ (localContext) -> Void in
在 Swift 2.0 中转换后我无法解决问题: "Objective-C method 'controller:didChangeObject:atIndexPath:forChangeType:n
在所有数据下载并插入 coreData 后,我使用 NSFetchedResultsControllerDelegate 显示我的单元格。我使用下面的代码来了解何时发生修改 [NSNotificati
我在请求中使用 NSFetchedResultsController 和 sortDescriptors 来填充包含大量结果的表。我注意到,当发生将行从表底部附近移动到顶部的更改时,根本不会调用 di
我在我的 UITableView 中使用 NSFetchedResultsController。我成功接收到对 - (void)controller:(NSFetchedResultsControll
Objective-C method 'controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:' provided by
我是一名优秀的程序员,十分优秀!