OC_模糊搜索

来源:互联网 发布:数组.length 编辑:程序博客网 时间:2024/06/15 19:44

OC_模糊搜索


核心代码预览:

//开始搜索-(void)startSearch:(NSString *)string{    if (self.seachUserDTOList.count>0) {        [self.seachUserDTOList removeAllObjects];    }    //开始搜索    NSString *key = string.lowercaseString;    NSMutableArray *tempArr = [NSMutableArray array];    // NSLog(@"key = %@",key);    if (![key isEqualToString:@""] && ![key isEqual:[NSNull null]] && key != nil) {        [self.storeUserDTOList enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {            UserDTO *dto = self.storeUserDTOList[idx];            //担心框架有时候会误转,再次都设置转为小写            NSString *name = dto.name.lowercaseString;            NSString *namePinyin = dto.namePinYin.lowercaseString;            NSString *nameFireLetter = dto.nameFirstLetter.lowercaseString;            NSRange rang1 = [name rangeOfString:key];            if (rang1.length>0) { ///比嫩 -比                [tempArr addObject:dto];            }else{                if ([nameFireLetter containsString:key]) { //bn - b                    [tempArr addObject:dto];                }else{  //ershou                    if ([nameFireLetter containsString:[key substringToIndex:1]]) {                        if ([namePinyin containsString:key] ) {                            [tempArr addObject:dto];                        }                    }                }            }        }];        [tempArr enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {            if (![self.seachUserDTOList containsObject:tempArr[idx]]) {                [self.seachUserDTOList addObject:tempArr[idx]];            }        }];        //NSLog(@"self.searchResultList  = %@",self.seachUserDTOList);        self.isSearchState = YES;    }else{        self.isSearchState = NO;    }    [self.tableView reloadData];}
0 0
原创粉丝点击