需求:
1、定义联系⼈类
实例变量:姓名(拼⾳,⾸字⺟大写)、性别、电话号码、住址、分组名称、年龄。
方法:⾃定义初始化方法(姓名、电话号码)、显示联系⼈信息。
2、在main.m中定义字典,分组管理所有联系人。分组名为26个⼤写的英⽂字⺟。
3、可以添加联系人对象,如果姓名或电话号码为空,添加失败。添加联系⼈到匹配的分组。
4、获取某个分组名称下所有联系⼈,并且按照姓名升序排列。
5、从通讯录中根据电话号码搜索联系人。
6、获取所有女性的联系人,并且按照年龄的降序排列。
7、根据姓名删除某个联系人。
8、删除某个分组的全部联系人。
//
@interface AddressContact : NSObject
{
}
//属性
@property (nonatomic,retain)NSString*name;
@property (nonatomic,retain)NSString*gender;
@property (nonatomic,retain)NSString*number;
@property (nonatomic,retain)NSString*address;
@property (nonatomic,retain)NSString*groupName;
@property (nonatomic)NSInteger age;
//初始化
-(id)initWithName:(NSString*)name
+(id)addresscontactWithName:(NSString*)name
//按姓名排序
-(NSComparisonResult)sortByName:(AddressContact*)aContact;
//按年龄排序
-(NSComparisonResult)sortByAge:(AddressContact*)aContact;
-(NSString *)description;
@end
//
@implementation AddressContact
@synthesize name=_name;
@synthesize gender=_gender;
@synthesize number=_number;
@synthesize address=_address;
@synthesize groupName=_groupName;
@synthesize age=_age;
//初始化
-(id)initWithName:(NSString*)name
}
-(void)dealloc{
}
+(id)addresscontactWithName:(NSString*)name
}
//按姓名排序
-(NSComparisonResult)sortByName:(AddressContact*)aContact{
}
//按年龄排序
-(NSComparisonResult)sortByAge:(AddressContact*)aContact{
}
-(NSString *)description{
_groupName,_age];
}
@end
//
// 创建实例对象
AddressContact *p1=[[AddressContact alloc]initWithName:@"Anni" Gender:@"m" Number:@"002" Address:@"shanghai" GroupName:@"A" Age:18];
AddressContact *p1_2=[[AddressContact alloc]initWithName:@"Andongni" Gender:@"f" Number:@"005" Address:@"zhengzhou" GroupName:@"A" Age:23];
AddressContact *p2=[[AddressContact alloc]initWithName:@"Bobi" Gender:@"m" Number:@"001" Address:@"guangzhou" GroupName:@"B" Age:19];
AddressContact *p3=[[AddressContact alloc]initWithName:@"Cady" Gender:@"f" Number:@"009" Address:@"xian" GroupName:@"C" Age:20];
AddressContact *p4 = [[AddressContact alloc]initWithName:@"Davi" Gender:@"f" Number:@"002" Address:@"zhoukou" GroupName:@"D" Age:18];