环境:XCODE:5.0.2  IOS7模拟器

界面:使用storyboard 拖拽

简单应用:一个CoreData的CRUD用例。

界面如下图(一个UITableViewController 列表   查询和删除  选择UITableViewCell后显示详细页面 一个UIViewController 进行编辑或添加数据)

TableViewController  点击 +号 Push跳转到 DetaiViewController;选择Cell后也Push到DetailViewController(identifier为:detailViewByCell)跳转

都用连线实现。

在页面跳转到的时候出现如上报错,导致 导航子视图可能损坏 。

根据错误信息在DetaiViewController里输出导航的子视图

NSLog(@"%@",self.navigationController.viewControllers);

输出:

发现DetailViewController 有2个 很明显跳转的时候 出现问题

原因是UITableViewCell 在选择的时候 用连线的时候直接PUSH到了DetailViewController,

而在代码里也实现了跳转

[self performSegueWithIdentifier:@"detailViewByCell" sender:p];

去掉此处代码,至于需要传参可在prepareForSegue中传参

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"detailViewByCell"]) {
TRDetailViewController* detailVC=[segue destinationViewController];
Person* p=self.persons[ [self.tableView indexPathForSelectedRow].row];
detailVC.editPerson=p;
} }

最新文章

  1. Angular2中对ASP.NET MVC跨域访问
  2. WeedFS依赖库 0.6.1
  3. Plug-in 'org.eclipse.cdt.ui' contributed an invalid Menu Extension
  4. hdu 5276 YJC tricks time 数学
  5. UltraEdit 列模式
  6. oracle输出多行多列数据
  7. 关于华为交换机bpdu enable. ntdp enable. ndp enable解析
  8. python运维开发(十一)----线程、进程、协程
  9. PHP常见错误
  10. 版本控制工具--svn和git的使用(三) -----git的使用(2)
  11. PAT1084:Broken Keyboard
  12. Ubuntu16.04安装cuda9.0+cudnn7.0
  13. 【java设计模式】(3)---代理模式(案例解析)
  14. node.js的Promise库-bluebird示例
  15. IO流总结笔记二
  16. POJ 3262 Protecting the Flowers 【贪心】
  17. VirtualBox 端口转发 SSH
  18. nginx反向代理实例
  19. WDA基础二:界面,元素介绍
  20. Spring Boot 揭秘与实战(一) 快速上手

热门文章

  1. Codeforces446C DZY Loves Fibonacci Numbers(线段树 or 分块?)
  2. hdu 4850 Wow! Such String!(字符串处理,yy)
  3. UVALive 6187 Never Wait for Weights 带权并查集
  4. Install wxWidgets-3.0.2 on GNU/Linux Debian
  5. iOS多线程 GCD
  6. 安卓app缓存设置
  7. mysql新建用户本地无法登录
  8. sin=in.readLine();
  9. WPF之通过EventTrigger修改模板中元素的属性
  10. Centos下修改启动项和网络配置