//
// 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
}
}
// AppDelegate.swift
//
// 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
}
}
本文深入探讨了iOS开发中的Swift编程语言,分享了实际项目中遇到的问题解决方法及优化策略,包括性能提升、错误排查、代码重构等方面,旨在帮助开发者提高开发效率,构建高质量的应用程序。

被折叠的 条评论
为什么被折叠?



