小白刚接触swift,第一篇文章,相互学习。
1. Model
因为写的MVC比较简单,所以就写简单的一点的Model
class dataModel : NSObject {
var titile : String?
//自定义初始化方法
init(titile : String) {
super.init()
self.titile = titile
}
}
2. tableViewCell
class tableViewCell: UITableViewCell {
//懒加载
lazy var label : UILabel = {
var labeltemp = UILabel();
labeltemp.textAlignment = NSTextAlignment.center;
labeltemp.font = UIFont.boldSystemFont(ofSize: 20)
labeltemp.textColor = UIColor.red
return labeltemp
}()
//label.text = model.titile
var dataModel : dataModel {
set {
self.label.text = newValue.titile
}
get{
return self.dataModel
}
}
//重写父类方法
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.contentView.addSubview(self.label)
self.label.frame = CGRect(x:(self.frame.size.width - 100)/2,y:0,width:100,height:self.frame.size.height)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
3.ViewController
class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource{
var tableView : UITableView?
//懒加载
lazy var dataArray : NSMutableArray = {
return NSMutableArray.init()
}()
var collectionView : UICollectionView?
override func viewDidLoad() {
super.viewDidLoad()
//view.init()
self.tableView = UITableView.init(frame: self.view.bounds, style: UITableViewStyle.plain);
self.tableView?.delegate = self;
self.tableView?.dataSource = self;
self.tableView?.separatorStyle = UITableViewCellSeparatorStyle.none;
self.view.addSubview(self.tableView!)
//data.init()
for index in 1...5{
let num = String(index)
let model = dataModel.init(titile:num);
self.dataArray.add(model)
}
}
//UITableViewDataSource
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.dataArray.count
}
//UITableViewDelegate
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellStr = "tableViewCellStr"
var cell :tableViewCell?
//重用
cell = tableView.dequeueReusableCell(withIdentifier: cellStr) as? tableViewCell
if cell == nil {
//初始化
cell = tableViewCell.init(style: UITableViewCellStyle.default, reuseIdentifier: cellStr)
cell?.backgroundColor = UIColor.yellow
}
//cell数据赋值
let model = self.dataArray.object(at: indexPath.row) as! dataModel;
cell?.dataModel = model
return cell!
}
}
网友评论