1 tableView的类型

  1.1 UITableViewStylePlain  没有区头 不显区头     向上滑动区头不会移动到屏幕外面

’ 1.2 UITableViewStyleGrouped  有区头          表滑动,区头会移动

2 cell accessory   cell的配件

//cell配件(accessory)

// 0 none 什么也没有

// 1 DisclosureIndicator  多了一个指向右側的button

// 2 DetailButton 具体信息button

    // 3 Checkmark 对勾

// 4 DetailDisclosureButton  具体信息button + 指向右側的箭头

    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;





    还能够在设置huadong









3 设置cell 选中状态

  //设置选择类型 默觉得灰底

    cell.selectionStyle = UITableViewCellSelectionStyleDefault;



4 NSCopying 协议 作用是仅仅有实现此方法的类就能够调用copy方法

系统的某些类是默认实现NSCopying协议,诸如NSSting,NSArray,NSDictionary等;

      所以 之前的People的类的对象默认是不能调用copy方法,由于People没有实现NSCopying协议中的copyWithZone方法.

    暂时字符串的引用计数是 -1  NSString *str = @"laosun";

通过创建字符串的对象的方式 引用计数为1 能够进行拷贝 引用计数加 1 效果等同于retain   

  NSString *str1 = [NSString stringWithFormat:@"laosun"];





  4.1 浅拷贝 copy

            retain拷贝的时指针,对象仅仅有一个,结果使得对象的引用计数 + 1

   4.2 深拷贝  真正意义上的拷贝,仅仅是要产生两个对象,并且每一个对象的引用计数是1





5 //  此属性就能够取代 设置区头高度的 协议方法

_tableView.sectionHeaderHeight = 50;





6 创建tableView所必须的三个方法

    6.1  //在tableView上有几个区域

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

 6.2 //每一个区域有多上行

     - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

 6.3  每一行的cell

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath









7 相关协议

7.1  区头须要多个控件 则能够先创建一个View,然后再view上加入控件,view和相关控件在例如以下的方法中创建

-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;





   7.2  设置cell的编辑风格

    - (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath;





     风格类型

     7.2.1 UITableViewCellEditingStyleDelete      删除

7.2.2     UITableViewCellEditingStyleInsert 插入

     7.2.3 UITableViewCellEditingStyleNone        默认





    7.3 cell能否够移动 返回的时一个BOOL值

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath





    7.3.1 用来移动的三杠

     - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath





  移动逻辑: 取>删>加入





   7.4  完毕编辑





        -(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath;





删除和插入所做的操作写在这里 删除逻辑:删除对象 > 删除行





8  展开闭合逻辑:

通过一个bool值推断(_falg[3]),假设是yes则返回对应数组的count,否则返回0 (在和行相关的方法中),刷新对应的行的数据





9    表的编辑  增 ,删 ,移

tableView的用法具体解释的更多相关文章

  1. tableView特色用法

    // //  ViewController.m //  UITableView // //  Created by yhj on 15/12/15. //  Copyright © 2015年 QQ: ...

  2. 31 Python中 sys.argv[]的用法简明解释(转)

    Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...

  3. Python中 sys.argv的用法简明解释

    Python中 sys.argv[]的用法简明解释 sys.argv[]说白了就是一个从程序外部获取参数的桥梁,这个“外部”很关键,所以那些试图从代码来说明它作用的解释一直没看明白.因为我们从外部取得 ...

  4. H5 新标签用法及解释

    HTML 5 是一个新的网络标准,目标在于取代现有的 HTML 4.01, XHTML 1.0 and DOM Level 2 HTML 标准.它希望能够减少浏览器对于需要插件的丰富性网络应用服务(p ...

  5. sed详解---用法及解释

    1.sed -n '2'p filename 打印文件的第二行. 2.sed -n '1,3'p filename 打印文件的1到3行 3. sed -n '/Neave/'p filename 打印 ...

  6. destoon系统中get_maincat的用法及解释

    get_maincat函数的用法, 如get_maincat(0, $mid, 1),其中第一.二.三个参数分别表示什么? 第一个参数代表parentid 第二个参数代表所有的分类 第三个参数 代表 ...

  7. IOS开发UI篇之tableView 的用法详解

    1.我们知道tableView是IOS中的高级视图,其继承与ScrollView,故我们知道他有具有ScrollView的所有功能.而且还扩展了许多.当然在这里就不一一介绍了. 2.tableView ...

  8. IOS中TableView的用法

    一.UITableView 1.数据展示的条件 1> UITableView的所有数据都是由数据源(dataSource)提供的,所以要想在UITableView展示数据,必须设置UITable ...

  9. Python中 sys.argv[]的用法简明解释

    sys.argv[]就是一个从程序外部获取参数的桥梁,这个“外部”很关键.因为我们从外部取得的参数可以是多个,所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能 ...

随机推荐

  1. 【转】java 线程的几种状态

    java thread的运行周期中, 有几种状态, 在 java.lang.Thread.State 中有详细定义和说明: NEW 状态是指线程刚创建, 尚未启动 RUNNABLE 状态是线程正在正常 ...

  2. Android studio 将 Module 打包成 Jar 包

    整理记录 AndroidStudio 把一个 module 项目打包成 jar 包. 一.默认自动生成的 jar 包 众所周知 android studio 会在library所依赖的 app运行 或 ...

  3. 查看postgre都有哪些语句占用CPU,以及对应的sql语句

    查看占用CPU最多的几个postgresql ps aux | grep postgres | sort -n -r -k | head - | awk '{print $2, $3}' 查看所有po ...

  4. emplace_back() 和 push_back 的区别(转)

    在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放 ...

  5. 解决java网络编程IPv6问题

    如果系统中开启了IPV6协议(比如window7),java网络编程经常会获取到IPv6的地址,这明显不是我们想要的结果,搜索发现很多蹩脚的做法是:禁止IPv6协议.其实查看官方文档有详细的说明: j ...

  6. JDK提供的四种线程池

    一.线程池什么时候用,有什么好处? “线程池”顾名思义,就是存放线程的池子,这个池子可以存放多少线程取决于采用哪种线程池,取决于有多少并发线程,有多少计算机的硬件资源.使用线程池最直接的好处就是:线程 ...

  7. 〖Network〗宿舍配置两路由器,同时访问校园内网和校园外网

    环境: 校园宿舍, 10.x.x.x 和 172.16.x.x~172.31.x.x是校园内网,本科教务系统什么的都在上边 路由器: 路由器1(校园内网):水星MR807 路由器2(拨号上网):TP ...

  8. 【BI】商务智能

    BI的定义 商务智能BI (Business Intellignece) 商务智能是涵盖性术语,包含框架.工具.数据库.分析工具.应用和方法.商务智能的主要目标是实现数据的交互,实现对数据的操作,供管 ...

  9. 使用Cookie进行会话管理

    javaweb学习总结(十一)——使用Cookie进行会话管理 一.会话的概念 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. ...

  10. Windows下 VS2015编译ForestDB

    VS2015编译ForestDB ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树.由 Couchbase 缓存和存储团队开发. 1.下载forestdb源码 ...