swift之UITableView的使用

swift之UITableView的使用,第1张

概述原文地址:http://www.wugaojun.com/blog/2015/05/09/ru-he-da-jian-bo-ke/ 1.创建tableView Swift和OC中UITableView的使用基本是差不多,只是有一些语法上的差异。下面我们一步一步从0开始写一个tableView。 12345678910111213141516171819202 原文地址:http://www.wugaojun.com/blog/2015/05/09/ru-he-da-jian-bo-ke/ 1.创建tableVIEw

Swift和OC中UItableVIEw的使用基本是差不多,只是有一些语法上的差异。下面我们一步一步从0开始写一个tableVIEw。

12345678910111213141516171819202122232425
import UIKit  let ID = "Cell" //cell的ID,建议像这样写一个常量,不要直接使用"Cell"  class VIEwController: UIVIEwController, UItableVIEwDataSource, UItableVIEwDelegate { //0.遵守协议   overrIDe func vIEwDIDLoad() {  super.vIEwDIDLoad()   //1.创建UItableVIEw(跟OC几乎一样)  var tableVIEw = UItableVIEw(frame: vIEw.bounds, style: UItableVIEwStyle.Plain)   //2.注册Cell  tableVIEw.registerClass(UItableVIEwCell.self,0)!important">forCellReuseIDentifIEr: ID)  //下面这种写法也是可以的  //tableVIEw.registerClass(UItableVIEwCell.classForCoder(),forCellReuseIDentifIEr: ID)   //3.设置数据源和代理  dataSource = self  delegate = self;   //4.添加到vIEw中  self.addSubvIEw(tableVIEw)  } } 

注意:1.协议的写法,不需要写<>。2.上面的代码中第0步和第3步会报错,不要惊慌,暂时无视,并不是代码有问题,是因为我们没有实现相应的协议方法。

2.准备假数据 11
// 懒加载 lazy var datas: [Int] = {  // 创建一个存放int的数组  nums = [Int]()  // 添加数据  for i in 0...50 {  nums.append(i)  }  // 返回  return nums }() 

这里采用懒加载,Swift的懒加载和OC差别还是比较大的,需要注意一下。

3.实现协议方法 17
// MARK: - UItableVIEwDataSource & UItableVIEwDelegate  tableVIEw(tableVIEw: UItableVIEw, numberOfRowsInSection section: Int) -> Int {  //返回有多少行Cell,这里返回数组的count  datas.count }  cellForRowAtIndexPath indexPath: NSIndexPath) -> UItableVIEwCell {  // 获得cell  cell = dequeueReusableCellWithIDentifIEr(ID,0)!important">forIndexPath: indexPath) as! UItableVIEwCell   // 配置cell  cell.textLabel!.text = "假数据 - \(datas[indexPath.row])"   // 返回cell  cell } 

解释几个可能有点迷糊的地方:

  1.as:这个东西比较符合人类思维。意思就是把什么当作什么,在上面的代码中,由于方法dequeueReusableCellWithIDentifIEr的返回值是AnyObject(也就是OC中的ID类型),所以需要通过as告诉编译器这实际上是一个UItableVIEwCell。

  2.!(感叹号):这玩意就是告诉编译器我确定这里的的cell.textLabel一定是非nil的,可以放心的执行后面的。as后面的!也是一样的道理。

至此,可以编译运行看看效果了.

4.增加左滑删除功能

实现一个方法即可

11
// 提交编辑 *** 作 func commitEditingStyle editingStyle: UItableVIEwCellEditingStyle,   forRowAtIndexPath indexPath: NSIndexPath) {  // 如果是删除 *** 作  if editingStyle == .Delete {  // 从数组中移除对应位置的数据  removeAtIndex(indexPath.row)  // 删除表格中对应行的数据  deleteRowsAtIndexPaths([indexPath],0)!important">withRowAnimation: UItableVIEwRowAnimation.Fade)  } } 

大功告成,运行看看效果吧。

Done!

总结

以上是内存溢出为你收集整理的swift之UITableView的使用全部内容,希望文章能够帮你解决swift之UITableView的使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1077931.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存