简单的数据去重,和谓词使用


  //去除重复
    NSOrderedSet *orderedSet = [NSOrderedSet orderedSetWithArray:sectionArray];
    self.sections = [[orderedSet array] mutableCopy];
    
    //把所有的通知汇总后分类
    NSMutableArray *allNotices = [NSMutableArray array];
    for (NSArray *notices in self.noticeArray) {
        [allNotices addObjectsFromArray:notices];
    }
    [allNotices addObjectsFromArray:notices];
    
    /// 赋值完后删除重新添加
    [self.noticeArray removeAllObjects];
    
    for (NSString *date in self.sections) {
        NSPredicate *predicate = [NSPredicate predicateWithFormat:@"noticeDate == %@",date];
  
        NSArray *dayNotices = [allNotices filteredArrayUsingPredicate:predicate];
        NSArray *sortedNotices = [dayNotices sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
            
            YHHomeFindNotice *notice1 = obj1;
            YHHomeFindNotice *notice2 = obj2;
            if ( notice1.timeString < notice2.timeString ) {
                return (NSComparisonResult)NSOrderedDescending;
            } else if ( notice1.timeString > notice2.timeString) {
                return (NSComparisonResult)NSOrderedAscending;
            }
            return (NSComparisonResult)NSOrderedSame;
            
        }];
        
        [self.noticeArray addObject:sortedNotices];
    }

你可能感兴趣的:(简单的数据去重,和谓词使用)