首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >核心数据:未被其他“间接”相关UITableView/实体识别的UITableView/实体中的更改

核心数据:未被其他“间接”相关UITableView/实体识别的UITableView/实体中的更改
EN

Stack Overflow用户
提问于 2011-10-24 05:43:06
回答 2查看 483关注 0票数 0
代码语言:javascript
运行
AI代码解释
复制
         appdelegate
     passes modelview 
     to each tab controller
            |
            |
          /    \
         /      \   
        /        \
       /          \ 
      /            \
     /              \
    vc1             vc2
 show list      show grouped  
 of years     table with years
    |          as headers and
    |           courses within
   vc3            each year
list courses
in selected 
year
   |
   |
add new 
course to
selected 
year

在vc1和vc2中,我从核心数据模型中读取的实体是“年份”。在"numberOfRowsInSection()“等例程中,我通过模型中的”to-多“关系,通过NSSet()访问课程。(即courses_rel)。所有这些对于两个视图的初始显示都很好。

vc3也很好用。用户可以在任何选定的年份中添加新的课程。

这是我的问题。当用户通过vc3添加一个新的课程,然后切换到vc2,新的课程不会出现,我得到下面提供的错误。我知道我得到了错误,因为更改是在课程数据库表中进行的,但是vc2中的表视图是从“年份”表中加载的。它从来没有得到"didChangeObject“和其他相关的信息,因为它处理的是”年“,而不是课程。然而,每个分组部分的主体是一个课程列表!

如何在用户转到vc3时立即反映对课程表( vc2 )的更改?

我在reloadData函数中放置了一个新的fetch操作和一个视图viewWillLoad,但同样,它是年数的获取,而不是过程,所以没有任何效果。

下面是用户在添加vc2课程后切换到vc3时所遇到的错误。

CoreData:错误:严重的应用程序错误。在调用NSFetchedResultsController :时,从-controllerDidChangeContent的委托中捕获了一个异常。无效更新:第0节中的行数无效。更新(3)后包含在现有节中的行数必须等于更新(2)之前包含在该节中的行数,加上或减去从该节插入或删除的行数(0插入,0删除),加上或减去移动到或移出该节的行数(0移动,0移出)。使用userInfo (null)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-24 09:06:59

您对VC2的获取请求应该是“课程”请求,而不是“年份”请求。获取的结果控制器只会注意到更改,并在从获取请求返回的结果集发生更改时调用委托方法。添加新课程时,不会创建新的年份,因此获取的结果控制器不会传播任何更改。

假设您的课程实体具有“年度”关系,那么您可以将获取的结果控制器配置为按年分组,如下所示:

代码语言:javascript
运行
AI代码解释
复制
 NSFetchedResultsController *myController = [[NSFetchedResultsController alloc] 
                                 initWithFetchRequest:<a courses fetch request> 
                                 managedObjectContext:context
                                   sectionNameKeyPath:@"year"
                                            cacheName:<cache name or nil>];

然后,修改tableview数据源方法,使用frc中的节信息创建几年的节,并用课程填充部分。如果您是这样做的,那么每当添加新的课程时,frc将通过委托方法通知vc2。

票数 1
EN

Stack Overflow用户

发布于 2016-09-13 21:48:08

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7876551

复制
相关文章
JS魔法堂:再识ASCII实体、符号实体和字符实体
一、前言                                            相信大家都熟悉通过字符实体 &nbsp; 来实现多个连续空格的输入吧!本文打算对三类HTML实体及JS相关操作作进一步的整理和小结,若有纰漏请大家指正,谢谢。 二、初识HTML实体                                                                    由于HTML中某些字符是预留的(如>和<等),若要在进行HTML解析出来后能正确显示预留字符,则需要
^_^肥仔John
2018/01/18
2.3K0
iOS UITableView的使用
添加代理 UITableViewDelegate,UITableViewDataSource
码客说
2019/10/22
8700
UITableView在Flutter中是什么?
前面我们学习了文本、图片和按钮这些基本元素,这些基本元素需要进行排列组合,才能构成我们看到的UI视图。那么,当这些基本元素的排列布局超过屏幕显示尺寸(即超过一屏)时,我们就需要引入列表控件来展示视图的完整内容,并根据元素的多少进行自适应滚动展示。
拉维
2019/08/12
5.6K0
UITableView在Flutter中是什么?
UITableView 组件化
在 iOS 开发中,UITableView 可以说是最常用的控件。几行代码,实现对应方法,系统就会给你呈现一个 60 帧无比流畅的列表,让初学者成就感爆棚。然而随着开发的深入,我们就会慢慢觉察到当前的 UITableView 实现会有这样或那样的问题。
猿_人类
2019/09/03
1.5K0
UITableView 组件化
IOS UITableView 表格嵌套
自定义表格控件:CustomizeUITableViewCell.swif //自定义单元格,单元格高度动态调整 1 import UIKit 2 3 class CustomizeUITableViewCell:UITableViewCell, UITableViewDataSource, UITableViewDelegate { 4 5 var tableView:UITableView!; 6 var comments:[String] = [] 7 8 override init
用户5760343
2019/07/08
1K0
IOS UITableView 表格嵌套
【iOS开发】UITableView优化
移动开发中,任何一个应用都或多或少的有列表的存在,列表的上下滑动直接关系到用户体验。如果处理不好,就会使得列表滑动起来有明显的卡顿效果。所以对列表的优化,让它更加的顺滑,就成了移动开发工程师们一直努力的方向。下面就说说一些通用的列表优化,很多优化还是要到具体的列表环境中。欢迎交流。
吴老师
2018/09/05
1.8K0
优雅的使用UITableView
在我们iOS开发中UITableView几乎是所有App都会使用的一个UI控件,因为业务的需要,我们常常会注册多种Cell,然后在
会写bug的程序员
2020/06/06
1K0
优雅的使用UITableView
学界 | ReQuest: 使用问答数据产生实体关系抽取的间接监督
选自 arXiv 机器之心编译 参与:Nurhachu Null、李泽南 在这篇伊利诺伊大学、南加州大学与上海交大合作的 WSDM 2018 论文中,研究人员提出了一个全新框架:ReQuest,它可以借助问答数据作为实体关系提取的一个间接监督源,这种方法可以用于减少从知识库中产生监督信息而伴随产生的噪声,为关系提取任务提供间接,有效的训练数据。ReQuest 框架可以将隐藏于问答数据 (以及用户反馈信息) 内的关于实体关系的知识迁移到实体关系抽取任务上,提升信息抽取系统的效能。 关系提取是一项重要的任务,通
机器之心
2018/05/09
9150
学界 | ReQuest: 使用问答数据产生实体关系抽取的间接监督
IOS UITableView UITableViewCell控件
import UIKit class ViewController:UIViewController,UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view,typically from a nib. let screenRect = UIScreen.main.bounds let tableRect = CGRect(x:0, y:20, width: screenRect.size.width, height:screenRect.size.height - 20) let tableView = UITableView(frame:tableRect) tableView.dataSource = self self.view.addSubview(tableView) } func tableView(_ tableView:UITableView,numberOfRowsInSection section:Int) -> Int{ return 20 } func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath) -> UITableViewCell { let identifier = “reusedCell” var cell =tableView.dequeueReusableCell(withIdentifier:identifier) if(cell == nil) { cell = UITableViewCell(style:UITableViewCellStyle.default, reuseIdentifier:identifier) } cell?.textLabel?.text = “命运负责洗牌,玩牌的是我们自己!” return cell! } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
用户5760343
2019/07/08
6550
IOS UITableView UITableViewCell控件
Swift 2.0 UItableView 的简单使用
在IOS开发中,UItableView 的使用真的是最常见最普通的了,现在在自学swift 今天也是这用Swift 写了写 UItableview的使用,还有一些经常出错的地方。下面我先把整个控制器的代理列出来,大家可以顺便看看 swift 是怎样遵守协议的。 import UIKit // 遵守两个协议 class HomeViewController: UIViewController ,UITableViewDelegate,UITableViewDataSource { override
Mr.RisingSun
2018/01/09
1.8K0
UITableView reloadData或viewWillAppear失效
后来发现原来用了UINavigationController后,viewWillAppear方法是没有效果的,要用UINavigationControllerDelegate的– navigationController:willShowViewController:animated:方法才可以达到这个目的。
EltonZheng
2021/01/22
6020
UITableView增加和删除、移动
1、在控制器上添加一个UITableView,  暂时该UITableView控件变量名命名为为tableView, 设置控件代理,实现控制器的UITableViewDataSource, UITableViewDelegate协议;
tandaxia
2018/09/27
1.8K0
UITableView增加和删除、移动
再简单说说UITableView中Cell的复用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/72457378
用户1451823
2018/09/13
1.1K0
再简单说说UITableView中Cell的复用
UITableView实践(一):实现原理
我们知道在iOS上开发的视图使用UIKit,Mac OS则没有。Chameleon项目就是将UIKit的代码也可以运行在macOS上。我们可以通过Chameleon项目的源码来一探究竟,UITableView是如何实现的。
Helloted
2022/06/07
9680
UITableView实践(一):实现原理
命名实体识别的深度学习综述
A Survey on Deep Learning for Named Entity Recognition
马上科普尚尚
2020/09/24
1.8K0
命名实体识别的深度学习综述
UITableView 刷新指定行
// 一个section刷新 NSIndexSet *indexSet = [[NSIndexSet alloc] initWithIndex:1]; [tableview reloadSections:indexSet withRowAnimation:UITableViewRowAnimationAutomatic]; //collection 相同 // 刷新某一行 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSect
编程那点事
2023/02/25
7010
UITableView基础1. UITableView的作用2. UITableView的常用属性3. tableView展示数据三部曲4. UITableViewStyleGrouped样式5. U
1. UITableView的作用 以垂直滚动方式显示数据列表。 UITableView 的两种内置样式:UITableViewStylePlain 和UITableViewStyleGrouped 。 tableView只是一个愚蠢的容器,只负责显示。显示的是什么自己完全不知道。 数据都是由dataSource提供。 要满足快速滚动,性能很重要 2. UITableView的常用属性 2.1 分割线属性 属性名称 作用 separatorStyle 分隔线样式 separatorColor 分隔线颜色
stanbai
2018/06/28
1K0
iOS WKWebView+UITableView混排
WKWebView+UITableView混排 做内容展示页的时候,经常会用到WKWebView+UITableView的混排功能,现在此做一个总结,该功能的实现我采用了四种方法。 方案1: webView作为tableView的Header, 撑开webView,显示渲染全部内容,当内容过多时,比如大量高清图片时,容易造成内存暴涨(不建议使用),此方案简单粗暴 , 仅适用于内容少的场景,具体实现不在此赘述,直接看代码。 方案2: 简书的内容页实现方案 : UIWebView与UITableV
且行且珍惜_iOS
2020/06/09
1.8K0
iOS  WKWebView+UITableView混排
iOS UITableView 无数据占位图
在使用TableView的时候,经常会遇到一些无数据需要用到占位图的情况,所以就写一个控件来实现。 思路:使用UITableView Category来实现,由于占位图式样多种多样,所以控件就不用考虑很多情况,把占位图交给外部实现,控件内部只处理有数据和没有数据显示占位图即可。
赵哥窟
2019/01/28
1.5K0
UITableView性能优化-中级篇
老实说,UITableView性能优化 这个话题,最经常遇到的还是在面试中,常见的回答例如:
小蠢驴打代码
2018/12/27
1.6K0

相似问题

多实体、uitableview的核心数据

10

如何在UITableView中显示核心数据实体

22

限制UITableView行中显示的核心数据实体

12

核心数据中的抽象实体和父关系(NSFetchedResultsController + UITableView)

10

从核心数据添加新实体后重新加载UITableView

213
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文