Swift5.x的UITableView纯代码演练

//
//  ViewController.swift
//  1-UITableView演练
//  Created by 鲁军 on 2021/3/13./*CMD + Shift + O  快速打开文件CMD + Shift + J 快速定位文件**/
import UIKit
class ViewController: UIViewController {private lazy var tableView : UITableView = { () -> UITableView in//在实例化 tableView的时候,需要指定样式,指定之后 不能再修改let tb = UITableView(frame: CGRect.zero, style: .plain)//设定数据源tb.dataSource = self//注册可重用cell  [UITableViewCell class]    //纯代码注册一个可重用的celltb.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") //使用一行代码需要注册,必须注册//使用三行代码的时候,可以不注册,但是必须进行强制解包return tb}()//第二种懒加载的方式
//    private lazy var tableView2 : UITableView = {//        let tb1 = UITableView(frame: CGRect.zero, style: .plain)
//        return tb1
//    }()//是用纯代码创建视图层次结构  和 storyboard / xib 等价override func loadView() {//在访问 view的时候 如果view == nil 会自动调用loadView 方法// print(view)//设置视图view  = tableViewprint(tableView)}override func viewDidLoad() {super.viewDidLoad()}
}//将 一起相关的代码放在一起 便于阅读和维护    //遵守数据源的协议
// 在swift中 遵守协议的写法 类似于其他语言的多继承
//测试题  OC 中 有多继承吗   如果没有  如果替代 !
extension ViewController : UITableViewDataSource,UITableViewDelegate{//UITableViewController 会需要override  因为 UITableViewController 已经遵守了协议func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {return 50}func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {// 使用此方法  必须注册可重用cell 在ios6.0推出的 替代以下三行代码  //在storyboard 添加 Cell identitylet cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)cell.textLabel?.text = "hello \(indexPath.row)"return cell//以下代码在ios 7.0 之后就不太使用了//使用此方法 不要求必须注册可重用的cell 返回值是可选的/*var cell = tableView.dequeueReusableCell(withIdentifier: "cell")if cell==nil {cell = UITableViewCell(style: .default, reuseIdentifier: "cell")}//  cell?.textLabel //可选的cell?.textLabel?.text = "hello \(indexPath.row)"return cell!*/}
}

Swift5.x的UITableView纯代码演练相关推荐

  1. Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分

    Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分 前言 1 使用纯代码创建NavigationTab控制器必须会,也可使用storyboard拖控件,没有代码创建灵 ...

  2. ios15使用纯代码计算cell的高度

    ios15使用纯代码计算cell的高度 #import "MTableViewController.h" #import "MTableViewCell.h" ...

  3. UI基础第十四弹:UItableview使用代码自定义团购页面

    一.实现效果 二.使用纯代码自定义一个tableview的步骤 1.新建一个继承自UITableViewCell的类 2.重写initWithStyle:reuseIdentifier:方法 添加所有 ...

  4. (素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

    猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8580249 原文地址:http://blog.csdn.net/u01335 ...

  5. 猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

    猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44976175 原文地址:http://blog.csdn.net/ ...

  6. 纯代码计算不等高cell

    不等高cell纯代码: 对应的GitHub 项目链接:https://github.com/liminting/CalculateCellDemo 不等高cell - 先设置高度rowH = 250 ...

  7. iOS纯代码工程手动快速适配

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  8. wp.qq.com.index.html,使用纯代码给WordPress添加文章目录功能,支持快速定位和多级目录...

    wordpress是一款强大的博客系统,支持各种DIY,今天我就给大家带来使用纯代码给Wordpress添加文章目录的功能,使看文章更简单!并且支持点击目录标题快速定位到文章页面指定内容点. 一.文章 ...

  9. python 自动化-Python API 自动化实战详解(纯代码)

    主要讲如何在公司利用Python 搞API自动化. 1.分层设计思路 dataPool :数据池层,里面有我们需要的各种数据,包括一些公共数据等 config :基础配置 tools : 工具层 co ...

最新文章

  1. SpringBoot服务上线流程
  2. linux内核oom,linux OOM killer分析
  3. 《信息系统安全等级保护定级报告》
  4. MAT之ELM:ELM实现鸢尾花(iris数据集)种类测试集预测识别正确率(better)结果对比
  5. winform 异步弹窗窗体_玩转控件:重写/重绘Dev中MessageBox弹窗控件
  6. Python的线程/进程间通讯对象分析
  7. java开发工作经历_开发人员在寻找第二份工作时会经历什么
  8. web网页死链接检查工具——“Scrutiny 8”
  9. 更改shape文件字段名,提示Failed to alter the name of the field
  10. 感谢蜂窝教育,四个月的学习,让我改变了
  11. 光源基础知识及光源选型
  12. GPS地图坐标转百度地图坐标
  13. JavaScript学习笔记(四) ES6
  14. BNUOJ29065鸣人的查克拉
  15. 干货技巧|如何用3DsMax制作笔记本电脑
  16. 基于FPGA 的TF卡 UHS-I 方式存储
  17. 电脑重装Win10 64位系统的方法
  18. android 位置共享_如何与Android的受信任联系人共享您的位置
  19. ping 的错误回应
  20. 如何查看大型工程源代码(非常不错)

热门文章

  1. c语言中 文件的字符串输入函数是6,【C语言】文件操作及输入输出格式(文件常用的库函数)...
  2. python统计单词个数算法_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...
  3. 回老家还是继续北上广?
  4. 「第三只手」机械臂:采水果,破墙壁!
  5. 电路常识性概念(3)-TTL与CMOS集成电路
  6. 年审是当月还是当天_车检是按月份还是日期 审车日期以什么为准
  7. 360浏览器打不开qq空间_网页突然打不开其他软件却能上网?怎么解决?
  8. 桁架工业机器人编程_工业机器人之桁架机器人
  9. android安卓机版市场,安卓各版本市场份额数据更新 安卓8.0暴增
  10. php ajax 重复提交,ThinkPHP防止重复提交表单的方法实例分析