// // 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 } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。