Swift3.0 自定义tableView复用cell 的写法,与CollectionViewCell的不同,数据model
Model数据
class HospitalModel: NSObject { //后边不赋值 会报错 var imgurl :String = "" var introduction : String = "" var kind :String = "" var lat: Float = 0 var lng : Float = 0 var medinsurance : Int = 0 var name : String = "" var org_code : String = "" var recommend : Int = 0 var regaddr : String = "" var regregion : Int = 0 var linked : Int = 0//连接状态 0 //当模型数据 少于网络的时候 // override func setValue(value:AnyObject?, forUndefinedKey key:String) { // } }
一、tableViewCell
1.声明注册 cell, 选择要注册的是class还是nib
**********快捷键: Command+Shift+4 截取屏并自动保存在桌面***********
cell的写法是 Cell名称.self
tableview.register(homecellTable.self, forCellReuseIdentifier: "cell")
2、在cellForRow中 判断cell是否为空的方法 这个可行,有其他的欢迎留言
var cell : homecellTable = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! homecellTable if cell.isEqual(nil) { cell = homecellTable(style: .default, reuseIdentifier: "cell") }
3、自定义cell布局
class homeYiyuancellTable: UITableViewCell { var imageyiyuan = UIImageView() var labelyiyuan = UILabel() override init(style: UITableViewCellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) self.backgroundColor = UIColor.white //此处开始布局 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
二、CollectionViewCell 的写法
1、首先 cell的自定义上的不同
class homeYiyuancell: UICollectionViewCell { var imageyiyuan = UIImageView() var labelyiyuan = UILabel() override init(frame: CGRect) { super.init(frame: frame) self.backgroundColor = UIColor.white //开始布局 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } }
2、注册
//zhuce collectionVieww?.register(hometopCell.self, forCellWithReuseIdentifier: "topcell")
3、cellForRow
let cell = collectionVieww?.dequeueReusableCell(withReuseIdentifier: "tuwen", for: indexPath) as! hometuwenCollectionViewCell