IOS详解TableView——静态表格使用以及控制器间通讯

一个Demo 通过使用静态表格来完成个人资料增加编辑以及搜索。不过通常我们会使用更灵活的Group风格表视图来完成。

上篇文章简单的介绍了一下搜索框的使用。这里给其加入数据来说明。

 

先看下效果

 

主要涉及到三个页面,列表页面,显示信息页面,以及添加/编辑界面。

主要解决的就是视图控制器间的数据通讯问题,以及在搜索表格点击后更改数据同样能进行正确地传递。这里的数据通讯采用了比较常用的代理设计模式。

 

storyboard

个人信息储存在一个模型类Person中

 

遵守了NSCoding 可以对其信息进行归档解档。

 

 

为了能正确显示搜索框的内容,需要对表视图的数据源和代理方法对tableView进行判断,比如表格视图显示的内容

 

列表页面上点击加号与点击Cell进入不同的页面

 

所以要判断并给Segue设置标识符

注意到这里把两个视图控制器的Delegate都设给了自己,主要是为了在编辑和增加过后,能把数据模型的信息发送给首页的试图控制器,让其刷新数据。

 

来看下两个协议

 

主视图控制器对代理方法的实现

 

然后在相应地试图控制器中使用delegate在编辑或添加完成是,将数据发送过来就可以了。

 

还有就是注意由于在首页有两个tableview,则显示的数据和编辑,响应点击方法都要设置不同的数据列表进行管理。

下面是响应点击的方法

这里在点击搜索显示控制器上的tableview时,需要去perform显示个人信息的场景,并对其数据信息进行保存,以便修改后对搜索数据列表的信息也进行更新。

 

 

功能完成了,不过在实现一些方法时可以根据个人习惯对代码进行重构。把源码贴出来

Demo源码:点击打开链接

 

 

以上为本篇博客全部内容,欢迎指正和交流。转载注明出处~

 

posted on 2014-02-17 20:43  李志斌  阅读(426)  评论(0编辑  收藏  举报