Swift 5.0 之 tableView

作为一名iOS资深老鸟,咳,老菜鸟 ,想着swift.5 已趋于稳定,应该是到了入手swift的时候了, 正好公司需要加个小界面,小试牛刀


别人家的老婆

swift OC桥架一搭好,开始着手

自定义Cell   布局用的是SnapKit


自定义Cell

那个 required init? 自定义的时候是它自己蹦出来的,干嘛的小生不才,不知道撒

连个按钮的自定义


下面咱们来到 Controller 文件


tableview 的创建

这个基本和 OC 还是差不错的,底部那两行,是为Snakit做 cell 的高度自适应 

下面是tableView的 delegate和DataSource ,swift 很多delegate都以拓展的形势写出来,有人说,我就写Controller里不行吗,行,当然行,我为毛这么写,也是见很多人都这么写,没办法,第一个吃螃蟹的不是我,我啥能吃,我也不晓得

tableview 的 delegate DataSource

上图 delegate 没有 return row height  就是用了SnapKit ,别说,这玩意还挺好使


最后就是上拉加载 下拉刷新了,用的依旧是MJRefresh ,话说 swift版的JRefresh 用的很顺畅,因为项目已经有MJRefresh,再用JRefresh的时候,有很多莫名其妙的错误,就没有,本人垃圾,没解决,就只能随遇而安了

上拉,下拉用的很老套,哎,学海无涯呀

tableview 的上拉加载,下拉刷新


最后的界面是这样的


low low 的小界面


最后总结一下遇到的问题 

1 OC 引用不了swift里面的属性,都public了还引用不了,查资料得知

Swift属性和方法想让OC访问,前必须加@objc public ,当然 外访的类也是如此

2 swift 用不了 OC 的个别的宏定义 , 刚开始懵逼,后来脑袋转过来了,我宏是这么写的 

#define YDLightFont(x) [UIFont fontWithName:@"PingFangSC-Light"size:x]   

这明显是OC的语句,放 swift里让人家怎么办,怪不得识别不了,我这个扑街

3 最大的问题没解决,所以我就放弃了,就是本来我打算用RxSwift写的, 比拉个勾,不说,小生不是不才了,简直是垃圾了,整部了Rx,还得再修炼一下子

SnapKit 也是刚知道的,不过用的还挺好推荐一下

不常写,swift 也是刚入手,很多也是懵懵懂懂的,有指点的地方,或者不嫌弃一块学习的加V code03280318 ,备注一下就可以了,没事一块吃个鸡啥的

你可能感兴趣的:(Swift 5.0 之 tableView)