EaseUsersListViewController.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. /************************************************************
  2. * * Hyphenate CONFIDENTIAL
  3. * __________________
  4. * Copyright (C) 2016 Hyphenate Inc. All rights reserved.
  5. *
  6. * NOTICE: All information contained herein is, and remains
  7. * the property of Hyphenate Inc.
  8. * Dissemination of this information or reproduction of this material
  9. * is strictly forbidden unless prior written permission is obtained
  10. * from Hyphenate Inc.
  11. */
  12. #import "EaseRefreshTableViewController.h"
  13. #import "EaseUserModel.h"
  14. #import "EaseUserCell.h"
  15. #import "EaseSDKHelper.h"
  16. @class EaseUsersListViewController;
  17. @protocol EMUserListViewControllerDelegate <NSObject>
  18. /*!
  19. @method
  20. @brief 点击好友列表中某一好友的回调
  21. @discussion 点击好友列表的好友userModel,自行处理点击后的业务
  22. @param userListViewController 当前好友列表视图
  23. @param userModel 用户模型
  24. */
  25. - (void)userListViewController:(EaseUsersListViewController *)userListViewController
  26. didSelectUserModel:(id<IUserModel>)userModel;
  27. @optional
  28. /*!
  29. @method
  30. @brief 删除选中的好友
  31. @discussion
  32. @param userListViewController 当前好友列表视图
  33. @param userModel 会话模型
  34. */
  35. - (void)userListViewController:(EaseUsersListViewController *)userListViewController
  36. didDeleteUserModel:(id<IUserModel>)userModel;
  37. @end
  38. @protocol EMUserListViewControllerDataSource <NSObject>
  39. @optional
  40. /*!
  41. @method
  42. @brief 获取好友列表的的行数
  43. @discussion 获取好友列表行数,返回dataArray数组的count
  44. @param userListViewController 当前会话列表视图
  45. @result 返回好友列表行数
  46. */
  47. - (NSInteger)numberOfRowInUserListViewController:(EaseUsersListViewController *)userListViewController;
  48. /*!
  49. @method
  50. @brief 通过buddy获取用户model对象
  51. @discussion
  52. @param userListViewController 当前好友列表视图
  53. @param buddy 好友环信id
  54. @result 返回用户最后一条消息显示的内容
  55. */
  56. - (id<IUserModel>)userListViewController:(EaseUsersListViewController *)userListViewController
  57. modelForBuddy:(NSString *)buddy;
  58. /*!
  59. @method
  60. @brief 根据indexPath的行号来获取指定的用户对象
  61. @discussion cell所在的位置NSIndexPath,从tableView的数据源读取消息对象
  62. @param userListViewController 当前好友列表视图
  63. @param indexPath 消息cell所在的位置
  64. @result 返回用户最后一条消息显示的内容
  65. */
  66. - (id<IUserModel>)userListViewController:(EaseUsersListViewController *)userListViewController
  67. userModelForIndexPath:(NSIndexPath *)indexPath;
  68. @end
  69. @interface EaseUsersListViewController : EaseRefreshTableViewController
  70. @property (weak, nonatomic) id<EMUserListViewControllerDelegate> delegate;
  71. @property (weak, nonatomic) id<EMUserListViewControllerDataSource> dataSource;
  72. /** @brief 是否显示搜索框 */
  73. @property (nonatomic) BOOL showSearchBar;
  74. /*!
  75. @method
  76. @brief 下拉刷新
  77. @discussion 下拉,重新获取服务端的好友列表,重载tabeleView
  78. @return
  79. */
  80. - (void)tableViewDidTriggerHeaderRefresh;
  81. @end