123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- //
- // OOCalendarStoreViewController.swift
- // O2Platform
- //
- // Created by FancyLou on 2020/9/22.
- // Copyright © 2020 zoneland. All rights reserved.
- //
- import UIKit
- import CocoaLumberjack
- class OOCalendarStoreViewController: UITableViewController {
-
-
- private var publicCalendarList: [OOCalendarInfo] = []
- private lazy var viewModel: OOCalendarViewModel = {
- return OOCalendarViewModel()
- }()
- override func viewDidLoad() {
- super.viewDidLoad()
- self.tableView.tableFooterView = UIView(frame: CGRect.zero)
- self.viewModel.getPublicCalendarList().then { (list) in
- self.publicCalendarList = list
- self.tableView.reloadData()
- }.catch{ err in
- DDLogError("请求错误,\(err.localizedDescription)")
- self.showError(title: "获取日历失败!")
- }
- }
- // MARK: - Table view data source
- override func numberOfSections(in tableView: UITableView) -> Int {
- return 1
- }
- override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return self.publicCalendarList.count
- }
-
- override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- if let cell = tableView.dequeueReusableCell(withIdentifier: "calendarStoreTableCell", for: indexPath) as? CalendarStoreTableViewCell {
- cell.setOOCalendarInfo(calendar: self.publicCalendarList[indexPath.row])
- cell.delegate = self
- return cell
- }else {
- return UITableViewCell()
- }
- }
-
- override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- return 48.0
- }
-
- private func setFollow(follow: Bool, id: String) {
- for (idx, c) in (self.publicCalendarList.enumerated()) {
- if c.id == id {
- c.followed = follow
- self.publicCalendarList[idx] = c
- DDLogDebug("设置了。。。\(follow)")
- }
- }
- self.tableView.reloadData()
- }
- }
- extension OOCalendarStoreViewController: CalendarStoreCellFollowDelegate {
- func follow(calendar: OOCalendarInfo?) {
- if let c = calendar {
- if c.followed == true {
- self.viewModel.followCalendarCancel(id: c.id!).then { (v) in
- self.setFollow(follow: false, id: c.id!)
- }.catch { (err) in
- DDLogError("请求错误,\(err.localizedDescription)")
- self.showError(title: "取消失败!")
- }
- }else {
- self.viewModel.followCalendar(id: c.id!).then{ v in
- self.setFollow(follow: true, id: c.id!)
- }.catch { (err) in
- DDLogError("请求错误,\(err.localizedDescription)")
- self.showError(title: "关注失败!")
- }
- }
- }
- }
- }
|