TableView与delegate、dataResource
小梦这几天学习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的更多相关文章
- Static Cell-静态TableView
使用静态TableView有两个前提,1.要在Storyboard上 2.需要使用TableViewController PS:如果需要设置不同的cell的高度不同的话,还是需要使用tableVie ...
- tableview调用reloadData()之后界面不刷新显示
解决方法: 查看是否有指定tableView的delegate和datasource. self.tableView.delegate = self self.tableView.datasource ...
- iOS 之美:iOS Delegate 使用五步曲
在iOS 开发中, 搞清楚Delegate 是需要花些时间的. Delegate 本来是软件架构设计的一种理念.对于像手机这样一个有限的设备,我们需要充分考虑到:内存要尽量省着用: 视图之间的关系要清 ...
- iOS开发笔记之TableView优化
TableView相信只要是做iOS开发的就不会陌生,目前大多数iOS的app都是采用TabBar+NavigationBar+TableViewController这一主流框架, 既然用的这么频繁, ...
- 【COCOS2DX-游戏开发之三四】cocos2dx 3.0 TableView特殊使用方法:滚动时不能选择等等
cocos2dx 3.0版本号TableView拍生自ScrollView,经常使用来做滚动列表,有几种特殊使用方法,不知道大家用到过没 要求:1.滚动时不能选中TableCell,非滚动状态才干选中 ...
- tableview的reloadData应注意
http://blog.csdn.net/ouyangtianhan/article/details/7835041 http://stackoverflow.com/questions/160715 ...
- iOS中TableView小技巧
摘要: TableView是ios开发中经经常使用到的控件,这里统一记录一下开发中遇到的经常使用小技巧,不断探索更新.也希望大家能够告诉我很多其它经常使用的小技巧啦~一起进步 1.去除多余的列表线条 ...
- iOS学习笔记(5)——显示简单的TableView
1. 创建工程 创建一个新的Xcode工程命名为SimpleTableTest. 删除main.storyboard文件和info.plist中有关storyboard的相关属性. 按command+ ...
- 谈谈iOS开发如何写个人中心这类页面--静态tableView页面的编写
本文来自 网易云社区 . 一.本文讲的是什么问题? 在开发 iOS 应用时,基本都会遇到个人中心.设置.详情信息等页面,这里截取了某应用的详情编辑页面和个人中心页面,如下: 我们以页面结构的角度考虑这 ...
随机推荐
- Devexpress -换皮肤
一.在项目下新建RibbonForm 命名为:useSkin 二.添加引用DevExpress.OfficeSkins DevExpress.UserSkins.BonusSkins 三. ...
- python 编辑xml中namespace问题中出现很多ns0
原始文件:
- 使用jquery-qrcode生成二维码
一.使用jquery-qrcode生成二维码 先简单说一下jquery-qrcode,这个开源的三方库(可以从https://github.com/jeromeetienne/jquery-qrcod ...
- Android Bootloader LittleKernel的两篇文章 【转】
转自:http://blog.csdn.net/loongembedded/article/details/41747523 2014-12-05 14:37 3599人阅读 评论(2) 收藏 举报 ...
- github开发
从0开始学习 GitHub 系列之「初识 GitHub」 从0开始学习 GitHub 系列之「加入 GitHub」 从0开始学习 GitHub 系列之「Git 速成」 从0开始学习 GitHub 系列 ...
- Ajax原理
- 【转】关于字符编码,你所需要知道的(ASCII,Unicode,Utf-8,GB2312…)
转载地址:http://www.imkevinyang.com/2010/06/%E5%85%B3%E4%BA%8E%E5%AD%97%E7%AC%A6%E7%BC%96%E7%A0%81%EF%BC ...
- ASP.net gridview之性别
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
- 自定义控件(View的绘制流程源码解析)
参考声明:这里的一些流程图援引自http://a.codekk.com/detail/Android/lightSky/%E5%85%AC%E5%85%B1%E6%8A%80%E6%9C%AF%E7% ...
- SpringMVC框架下数据的增删改查,数据类型转换,数据格式化,数据校验,错误输入的消息回显
在eclipse中javaEE环境下: 这儿并没有连接数据库,而是将数据存放在map集合中: 将各种架包导入lib下... web.xml文件配置为 <?xml version="1. ...