在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量

let SRC_WIDTH = UIScreen.main.bounds.width
let SRC_HEIGHT = UIScreen.main.bounds.height

swfit创建UITableView和OC中差不多,主要是语法发生了改变的,还有一点就是拆解包问题,不过一般编译器会给出提示

你要实现UiTableView,肯定就少不了要实现它的相关代理方法,在swift中不需要尖括号,只需要在继承的类后面用逗号隔开就可以来,如下所示:

class TableViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{},这是系统会报错,不用管,因为你还没有实现它的代理和协议的;

声明UITableView

var  tableView: UITableView!

在初始化UITableView,如下:

    /***  创建UITableView*/func tableViewTest() -> UITableView{if tableView == nil {tableView = UITableView(frame: CGRect(x: 0, y: 0, width: SRC_WIDTH, height: SRC_HEIGHT), style: .plain)tableView?.delegate = selftableView?.dataSource = selftableView?.showsHorizontalScrollIndicator = falsetableView?.showsVerticalScrollIndicator = falsetableView?.bounces = falsetableView?.tableFooterView = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))//去除多余的下划线}return tableView!}

UITableView已经创建好了,接下来的就是要实现它的数据源方法的:

分别是:

//返回cell的显示的数据

func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath:NSIndexPath) ->UITableViewCell{}

//返回当前的Section中row行数

func tableView(tableView:UITableView, numberOfRowsInSection section:Int) -> Int{}

//返回当前几个Section

func numberOfSectionsInTableView(tableView:UITableView) ->Int { }

//选中时方法

func tableView(tableView:UITableView, didSelectRowAtIndexPath indexPath:NSIndexPath){}

显示数据源方法如下:

   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {var cell = tableView.dequeueReusableCell(withIdentifier: "CELL")if cell == nil {cell = UITableViewCell(style: .default, reuseIdentifier: "CELL")}
//        cell!.selectionStyle = .nonecell!.textLabel?.text = items[indexPath.row]return cell!}

效果图如下所示

swift纯代码实现UITableview总结一相关推荐

  1. swift纯代码UITabBarController的使用

    最近在OC的基础上开始学习swift,以下是swift纯代码搭建项目架构效果图 创建一个项目 选择swift语言 将项目中的main.storyboard ,ViewController ,Launc ...

  2. iOS(一):Swift纯代码模式iOS开发入门教程

    Swift纯代码模式iOS开发入门教程 项目初始化(修改为纯代码项目) 安装第三方库(以`SnapKit`库为例) 桥接OC库(QMUIKit) 封装视图并进行导航跳转 示例:使用 `TangramK ...

  3. ios swift 纯代码自定义view(控件) XYswitchView

    文章目录 1.截图 2.代码 2.1 XYswitchView.swift 2.2 LoginVC.swift 3.参考博客 1.截图 2.代码 2.1 XYswitchView.swift impo ...

  4. ios swift 纯代码设置UITableViewCell的style

    1.dequeueReusableCell(withIdentifier:)方法不需要注册 func tableView(_ tableView: UITableView, cellForRowAt ...

  5. Swift5.x的UITableView纯代码演练

    Swift5.x的UITableView纯代码演练 // // ViewController.swift // 1-UITableView演练 // Created by 鲁军 on 2021/3/1 ...

  6. [纯代码] Swift+UIKit · 搭建第一个iOS APP项目

    本文目录 前言 创建一个纯代码编辑的Swift + UIKit项目 创建一个Swift + UIKit项目 让它变成纯代码编辑的 让你的APP打开指定的ViewController 创建一个窗口 编辑 ...

  7. 【Swift Mac开发】纯代码创建NSViewController

    对于习惯了纯代码iOS开发的人来说,刚接触Mac端开发时,是非常不友好的,网上所有的教程都是通过Xib或StoryBoard的方式创建NSViewController,而且苹果文档也是鼓励用Xib的开 ...

  8. [译] 重写 loadView() 方法使 Swift 视图代码更加简洁

    原文地址:Writing Cleaner View Code in Swift By Overriding loadView() 原文作者:Bruno Rocha 译文出自:掘金翻译计划 本文永久链接 ...

  9. 史上比较用心的纯代码实现 AutoLayout

    入职有两三个月了吧,都是使用 Objective-C 纯代码(虽然有时候偷偷参杂一些 Swift 开源库)来编写公司APP,写布局的时候几乎都是要么在初始化的时候用 initWithFrame,要么就 ...

最新文章

  1. java http url 编码_Java中的HTTP URL地址编码
  2. 主库创建存储过程时从库显示 Error 1049
  3. 质数的后代c语言,(信息学奥赛辅导)程序设计试题汇编(答案10)
  4. Tex, LaTex概念及实例
  5. python 字符串分割
  6. 微软将VB和C#合二为一 年底推出全新平台VS2010
  7. Ansible之管理windows主机
  8. 蓝桥杯—手机尾号评分—Java
  9. 不用工具,如何快速计算文件的MD5?
  10. 2023上海面料展览会
  11. F5 HSL高速日志配置(GTMLTM)
  12. (一)软件测试专题——之Linux常用命令篇01
  13. 如何理解C语言的声明
  14. Drools规则引擎-memberOf操作
  15. APP图标制作-PS如何倒70圆角
  16. 乐鑫科技2022笔试面试题
  17. maven打包配置详解
  18. [offer已拿]字节跳动游戏研发面经
  19. mysql 异地双活_饿了么异地双活数据库实战
  20. html加入window播放器,使用 HTML 和 Windows Media Player

热门文章

  1. 网易云信课题实践-内网穿透的实现
  2. 3D点云|云上的卷积神经网络及其部分应用
  3. 计算机系统的详细结构树,图解:计算机数据结构中的 6 种「树」,你心中有数了吗?...
  4. 计算机屏幕灯,玩电脑必须要有的神器——屏幕挂灯
  5. win7台式电脑开始菜单没有休眠选项
  6. 打破惯性思维的限制——职场人士寓言(9)
  7. 六、Redis新类型bitmap-hyperloglgo-GEO
  8. 车载技术—CarFramework框架【AOSP 源码编译】
  9. 高并发解决方案(缓存、降级、限流)之限流笔记
  10. 网易相册辅助工具netease album v0.1 是什么