Contact

// 自定义初始化方法
- (instancetype)init{
    self.dic = [NSMutableDictionary dictionary];
    return self;
}
// 获得 首字母大写
- (NSString *)uppercaseString:(Contact *)contact{
    NSString *str = [contact.name capitalizedString];
    NSString *strNew = [str substringToIndex:1];
    return strNew;
}
// 添加联系人
- (void)addContact:(Contact *)contact{
    // 大写首字母获得
    NSString *str = [self uppercaseString:contact];
    NSMutableArray *array = [self.dic objectForKey:str];
    if (!array) {
        // 初始化数组空间
        array = [NSMutableArray array];
        // 创建键值对
        [self.dic setObject:array forKey:str];
    }
    [array addObject:contact];
}
// 获取某个分组名称下所有联系⼈,并且按照姓名升序排列。
- (void)sortInGroupByName:(NSString *)str{
    NSMutableArray *array = [self.dic objectForKey:str];
    if (array != nil) {
        [array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
            Contact *c1 = (Contact *)obj1;
            Contact *c2 = (Contact *)obj2;
            return [c1.name compare:c2.name];
        }];
    }
    NSLog(@"%@",array);

}
// 从通讯录中根据电话号码搜索联系⼈
- (void)searchByNum:(NSString *)phoneNum{
    for (NSString *keys in self.dic) {
        NSMutableArray *array = [self.dic objectForKey:keys];
        for (Contact *contact in array) {
            if ([contact.phoneNum isEqualToString:phoneNum]) {
                NSLog(@"%@",contact);
            }
        }
    }

}
// 获取所有⼥性的联系⼈,并且按照年龄的降序排列
- (void)sortFemaleByAge{
    NSMutableArray *array = [NSMutableArray array];
    for (NSString *keys in self.dic) {
        NSMutableArray *tempArray = [self.dic objectForKey:keys];
        for (Contact *contact in tempArray) {
            if ([contact.sex isEqualToString:@"女"]) {
                [array addObject:contact];
            }
        }
    }
    if (array.count > 0) {
        [array sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
            Contact *c1 = (Contact *)obj1;
            Contact *c2 = (Contact *)obj2;
            if (c1.age > c2.age) {
                return NSOrderedDescending;
            }else if (c1.age == c2.age){
                return NSOrderedSame;
            }else{
                return NSOrderedAscending;
            }
        }];
    }
}
// 根据姓名删除某个联系⼈
- (void)deleteByName:(NSString *)name{
    Contact *contact = nil;
    NSString *str = [[name capitalizedString] substringToIndex:1];
    NSMutableArray *arr = self.dic[str];
    for (Contact *c in arr) {
        if (c.name == name) {
            contact = c;
        }
    }
    if (arr.count > 1) {
        [arr removeObject:contact];
    }else{
        [self.dic removeObjectForKey:str];
    }
    NSLog(@"%@",self.dic);

}
// 删除某个分组的全部联系⼈
- (void)deleteGroup:(NSString *)group{

    [self.dic removeObjectForKey:group];
}
- (NSString *)description{
    return [NSString stringWithFormat:@"%@",self.dic];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值