swift中cell的两种创建区别和extension的使用。让我们开发更有条理

前端之家收集整理的这篇文章主要介绍了swift中cell的两种创建区别和extension的使用。让我们开发更有条理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
// // AppDelegate.swift // WeiBo // // Created by 胡双飞 on 15/10/4. // Copyright © 2015年 HSF. All rights reserved. // import UIKit //MARK:定义cell注册问题 private let HomeCellIdentifier = "HomeCell" class HoMetableViewController: BaseTableViewController { override func viewDidLoad() { super.viewDidLoad() if !UserAccountviewmodel.shareUserAccount.isUserLogin{ visitorView?.setupInfo(nil,message: "关注一些人,回这里看看有什么惊喜") } loadData() tableView.registerClass(UITableViewCell.self,forCellReuseIdentifier: HomeCellIdentifier) } //加载数据 private func loadData(){ statusListviewmodel.loadStatus().subscribeError({ (error) -> Void in printLog(error) }) { () -> Void in self.tableView.reloadData() } } //MARK: - 懒加载 private lazy var statusListviewmodel = StatusListviewmodel() } //extension 类似于OC中的分类,扩展的意思。我们可以将UITableViewDataSource/UITabelTableViewDelegate放到这里更加清晰 extension HoMetableViewController{ //MARK:UITableViewController override func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { return statusListviewmodel.status?.count ?? 0 } override func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { //1 iOS5.0时 dequeueReusableCellWithIdentifier: 会查询可重用cell,如果有则拿来用,如果没有则创建一个。 //2 iOS6.0时 dequeueReusableCellWithIdentifier: forIndexPath:需要registerCell/storyboard/xib注册一个cell,,如果缓存区cell不存在,会使用cell实利化一个新的cell。 let cell = tableView.dequeueReusableCellWithIdentifier(HomeCellIdentifier,forIndexPath: indexPath) //1.获取微博数据 let status = statusListviewmodel.status![indexPath.item] as! Status cell.textLabel?.text = status.text return cell } }

猜你在找的Swift相关文章