45 lines
1.1 KiB
Objective-C
45 lines
1.1 KiB
Objective-C
//
|
|
// NTESGroupedDataCollection.h
|
|
// NIM
|
|
//
|
|
// Created by Xuhui on 15/3/2.
|
|
// Copyright (c) 2015年 Netease. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
@protocol NTESGroupMemberProtocol <NSObject>
|
|
|
|
- (NSString *)groupTitle;
|
|
- (NSString *)memberId;
|
|
- (id)sortKey;
|
|
|
|
@end
|
|
|
|
@interface NTESGroupedDataCollection : NSObject
|
|
|
|
@property (nonatomic, strong) NSArray *members;
|
|
@property (nonatomic, copy) NSComparator groupTitleComparator;
|
|
@property (nonatomic, copy) NSComparator groupMemberComparator;
|
|
@property (nonatomic, readonly) NSArray *sortedGroupTitles;
|
|
|
|
- (void)addGroupMember:(id<NTESGroupMemberProtocol>)member;
|
|
|
|
- (void)removeGroupMember:(id<NTESGroupMemberProtocol>)member;
|
|
|
|
- (void)addGroupAboveWithTitle:(NSString *)title members:(NSArray *)members;
|
|
|
|
- (NSString *)titleOfGroup:(NSInteger)groupIndex;
|
|
|
|
- (NSArray *)membersOfGroup:(NSInteger)groupIndex;
|
|
|
|
- (id<NTESGroupMemberProtocol>)memberOfIndex:(NSIndexPath *)indexPath;
|
|
|
|
- (id<NTESGroupMemberProtocol>)memberOfId:(NSString *)uid;
|
|
|
|
- (NSInteger)groupCount;
|
|
|
|
- (NSInteger)memberCountOfGroup:(NSInteger)groupIndex;
|
|
|
|
@end
|