• 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) {
    //    }
    }
    Model

    一、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")
        }
        
        
    }
    cell写法

    二、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")
        }
       
        
    }
    cell 写法

    2、注册

    //zhuce
            collectionVieww?.register(hometopCell.self, forCellWithReuseIdentifier: "topcell")

    3、cellForRow

     let cell = collectionVieww?.dequeueReusableCell(withReuseIdentifier: "tuwen", for: indexPath) as! hometuwenCollectionViewCell
  • 相关阅读:
    MySQL慢日志
    百万级数据生成。
    layui的数据表格加上操作
    WINDOWS命令行关闭本地占用的端口
    项目中路径问题
    linux服务器上使用find查杀webshell木马方法
    mysql锁分析相关的几个系统视图
    Centos7中网络及设备相关配置
    centos7版本中ssh相关的设置
    mysql权限参考
  • 原文地址:https://www.cnblogs.com/xujiahui/p/7266848.html
Copyright © 2020-2023  润新知