- iOS从零基础到精通就业 Objective-C
- CSDN观看地址:http://edu.csdn.net/course/detail/3347
- 通讯录
- AddressBook.h
-
AddressBook.m// // AddressBook.h // 通讯录 // // Created by 蓝鸥 on 16/8/2. // Copyright © 2016年 luanbin. All rights reserved. // #import <Foundation/Foundation.h> #import "Person.h" @interface AddressBook : NSObject //通讯录这个类 有个大字典 @property(nonatomic,retain)NSMutableDictionary *mDic; //添加联系人 -(void)addPerson:(Person *)per; //根据电话号码查找联系人 -(Person *)searchPerson:(NSString *)number; @end
-
// // AddressBook.m // 通讯录 // // Created by 蓝鸥 on 16/8/2. // Copyright © 2016年 luanbin. All rights reserved. // #import "AddressBook.h" @implementation AddressBook //重写初始化方法 -(id)init { self = [super init]; if (self) { //在这个地方搞26个数组放到字典里 self.mDic = [NSMutableDictionary dictionary]; NSArray *arr = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z", nil]; for (int i = 0; i<26; i++) { //创建数组 NSMutableArray *array = [NSMutableArray array]; [self.mDic setObject:array forKey:arr[i]]; } } return self; } //实现通讯录的两个操作方法 -(void)addPerson:(Person *)per { //1获取首字母 Zhangsan NSString *firstCharacter = [per.name substringToIndex:1]; //2通过首字母找到对应的数组 NSMutableArray *tempArray = [self.mDic objectForKey:firstCharacter]; //如果人名为空或者电话号码为空就提示添加失败 if (per.name.length == 0 || per.phoneNumber.length == 0) { NSLog(@"都是空的你加个毛!!!"); }else{ //3把人添加到数组里面 [tempArray addObject:per]; NSLog(@"添加成功"); } } -(Person *)searchPerson:(NSString *)number { //获取26个字母 NSArray *array = [self.mDic allKeys]; for (int i = 0; i<26; i++) { //通过字母找到数组 NSMutableArray *tempArray = [self.mDic objectForKey:array[i]]; for (int j = 0; j<tempArray.count; j++) { //把人取出来 然后匹配电话号码 Person *p = tempArray[j]; if ([p.phoneNumber isEqualToString:number]) { return p; } } } return nil; } @end