小梦这几天学习tableView是深有体会了

废话不多说,来一波

首先,创建一个测试项目

如图

创建好,在项目结构中另外弄一个GroupFile,创建storyBoard和CocoaTouch

在storyBoard里面放一个普通的tableView控件

给这个storyBoard做好准备工作{

  关联一个CocoaTouch类,

  并且设置这个storyBoard为第一个场景

}

接下来就开始在CocoaTouch类里写代码来操作storyBoard里的tableView

Swift代码:

import UIKit

class tableViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {
//来一个数组
var stu = ["123":["xx","xxx","xxx"],"124":["xxx","xxx","xxx"],"125":["xxx","xxx","xxx"]].sorted(by: {$0.key < $1.key}) //返回节的数量,这个是委派里的可选方法
func numberOfSections(in tableView: UITableView) -> Int {
return stu.count
} //返回节的名称
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return stu[section].key
} //返回每个节下数据的条数
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return stu[section].value.count
} //所有数据
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
//弄一个cellid单元格标识属性
let cellid = "cellid" //拿到单元格对象,通过此方法的参数tableView来获取
var cell = tableView.dequeueReusableCell(withIdentifier: cellid) //判断是否为空
if cell == nil {
//若为空,就给一个默认样式,不显示任何东西
cell = UITableViewCell(style: .default, reuseIdentifier: cellid)
} //反之就开始显示所有数据
cell?.textLabel?.text = stu[indexPath.section].value[indexPath.row] //返回cell
return cell!
}
}

上面代码里,所有的方法都有注释解析

代码写好了,先别那么急

还有一步

在StoryBoard的树结构里,讲tableView关联好dataSource和delegate后

运行

完美实现,是不是很简单呢,当然,多加练习,谁都能从小白立马转大神级别

^_^

Thank

--------------------------------------------------Over

TableView与delegate、dataResource的更多相关文章

  1. Static Cell-静态TableView

    使用静态TableView有两个前提,1.要在Storyboard上  2.需要使用TableViewController PS:如果需要设置不同的cell的高度不同的话,还是需要使用tableVie ...

  2. tableview调用reloadData()之后界面不刷新显示

    解决方法: 查看是否有指定tableView的delegate和datasource. self.tableView.delegate = self self.tableView.datasource ...

  3. iOS 之美:iOS Delegate 使用五步曲

    在iOS 开发中, 搞清楚Delegate 是需要花些时间的. Delegate 本来是软件架构设计的一种理念.对于像手机这样一个有限的设备,我们需要充分考虑到:内存要尽量省着用: 视图之间的关系要清 ...

  4. iOS开发笔记之TableView优化

    TableView相信只要是做iOS开发的就不会陌生,目前大多数iOS的app都是采用TabBar+NavigationBar+TableViewController这一主流框架, 既然用的这么频繁, ...

  5. 【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等

    cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才干选中 ...

  6. tableview的reloadData应注意

    http://blog.csdn.net/ouyangtianhan/article/details/7835041 http://stackoverflow.com/questions/160715 ...

  7. iOS中TableView小技巧

    摘要: TableView是ios开发中经经常使用到的控件,这里统一记录一下开发中遇到的经常使用小技巧,不断探索更新.也希望大家能够告诉我很多其它经常使用的小技巧啦~一起进步 1.去除多余的列表线条 ...

  8. iOS学习笔记(5)——显示简单的TableView

    1. 创建工程 创建一个新的Xcode工程命名为SimpleTableTest. 删除main.storyboard文件和info.plist中有关storyboard的相关属性. 按command+ ...

  9. 谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写

    本文来自 网易云社区 . 一.本文讲的是什么问题? 在开发 iOS 应用时,基本都会遇到个人中心.设置.详情信息等页面,这里截取了某应用的详情编辑页面和个人中心页面,如下: 我们以页面结构的角度考虑这 ...

随机推荐

  1. Win 播放器

    先上图 主要包含的功能有: 打开播放文件, 暂停, 恢复, 停止, 设置声音大小, 设置进度, 获取当前播放进度, 时间进度 提供的源码, 主要采用DSPACK234这个控件 为提高解码的成功率最好先 ...

  2. JavaScript中的apply和call函数详解(转)

    每个JavaScript函数都会有很多附属的(attached)方法,包括toString().call()以及apply().听起来,你是否会感到奇怪,一个函数可能会有属于它自己的方法,但是记住,J ...

  3. Qt:QObject translate

    qobject类是qt所有对象的基类. QObject是Qt的核心对象模型.中心在这个模型是一个非常强大的无缝沟通对象称为信号与槽机制.你可以连接一个信号槽连接()和破坏的连接与断开连接().为了避免 ...

  4. 使用Python从Markdown文档中自动生成标题导航

    概述 知识与思路 代码实现 概述 Markdown 很适合于技术写作,因为技术写作并不需要花哨的排版和内容, 只要内容生动而严谨,文笔朴实而优美. 为了编写对读者更友好的文章,有必要生成文章的标题导航 ...

  5. TortoiseGit使用手册

    1 安装 1.1 32位系统 1.2 64位系统 2 配置 2.1 设置语言 2.2 配置用户信息 2.3 生成ssh-key(仅限第一次使用) 2.4 初始化仓库(尚未使用git管理的项目) 2.5 ...

  6. PHP 将下划线命名 转换为 驼峰式命名

    function convertUnderline($str , $ucfirst = true) { $str = ucwords(str_replace('_', ' ', $str)); $st ...

  7. 自定义CollectionViewLayout

    转自answer-huang的博客 原文出自:Custom Collection View Layouts    UICollectionView在iOS6中第一次被介绍,也是UIKit视图类中的一颗 ...

  8. web项目 log4j2的路径问题

    项目中用到log4j2记录日志,结果运行的时候总也不见log文件的产生. 查看官方文档得知,在web项目中使用log4j2需要加入log4j-web包 log4j2.xml <?xml vers ...

  9. easyUI跨Tab操作datagrid

    1.在datagrid那个页面定义方法 window.top["RELOAD_MY_DATAGRID"]=function(){ $("#dg").datagr ...

  10. java比较版本号

    java比较版本号,比如1.0.3和1.2.1相比较考虑到可以用String的compareTo()方法,代码如下: public class MainClass { public static vo ...