MCDZNEmptyDelegate.swift 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // MCDZNEmptyDelegate.swift
  3. // HCQuanfangtong
  4. //
  5. // Created by Apple on 2022/2/16.
  6. // Copyright © 2022 Jyp. All rights reserved.
  7. //
  8. import Foundation
  9. /// BASE类 空数据页面的接口 BaseVC类实现了此接口,一般情况下只用使用checkData(), 其他方法为自定义空数据界面
  10. protocol MCDZNEmptyDelegate{
  11. //MARK: ReladData 被废弃,和调用reloadData一样
  12. /// 不可被重写 tableView reloadData 或者 collectionView reloadData,会默认调用checkDataSourceCount,检查是否有数据存在
  13. func dzReloadData()
  14. //MARK: 一般情况不需要手动调用,只有在需要显示loading的时候,才需要调用
  15. /// 显示loading 加载
  16. func dzResetEmptyView()
  17. //MARK: 显示错误DZEmptyView ※※※※※※※※※※※※※※※※
  18. /// 不可被重写 请求错误的时候通用空数据界面展示错误信息, 执行完毕之后会隐藏掉hud
  19. /// - Parameters:
  20. /// - messageStatus: 请求状态
  21. /// - msg: 错误信息
  22. /// - showHud: 是否展示错误的弹窗信息 默认展示
  23. func dzShowFailureMessage(withHttpStatus messageStatus: MCHttpStatus, msg: String?, showHud: Bool)
  24. //MARK: -
  25. /// 页面有多少条数据,默认tableView collectionView rows count // 或者scrollView subviews count 可以定制规则
  26. func checkDataSourceCount() -> Int
  27. /// loading文本
  28. func loadingTitle() -> String
  29. /// 空数据图片
  30. func emptyImage() -> String
  31. /// 空数据文本
  32. func emptyTitle() -> String
  33. /// 如果需要再空数据界面有下一步的操作,就需要重写这个方法,返回按钮的文字 例如:“下一步” “添加”等等
  34. func emptyNextStepBtnTitle() -> String?
  35. /// 错误图片
  36. func errorImage() -> String
  37. /// 错误文本
  38. func errorTitle() -> String
  39. /// 失败图片
  40. func failureImage() -> String
  41. /// 没有网络图片
  42. func noNetworkImage() -> String
  43. /// 没有网络文本
  44. func noNetworkTitle() -> String
  45. /// 网络超时图片
  46. func networkTimeOutImage() -> String
  47. /// 网络超时文本
  48. func networkTimeOutTitle() -> String
  49. }
  50. protocol MCDZNRefreshDelegate {
  51. /// 刷新方法
  52. func delegateForRefreshData()
  53. /// 加载更多方法 默认调用 delegateForRefreshData
  54. func delegateForLoadMore()
  55. /// 是否允许刷新
  56. func delegateForRefreshEnable() -> Bool
  57. /// 是否允许加载更多
  58. func delegateForLoadMoreEnable() -> Bool
  59. /// 空数据界面点击方法,默认调用 delegateForRefreshData
  60. func delegateForEmptyViewTap()
  61. /// 默认为空实现 (下一步操作)
  62. func delegateForEmptyViewNextStepTap()
  63. }