//简易通讯录
#import <Foundation/Foundation.h>
@interface AddressContact : NSObject
@property NSString *name;//姓名
@property NSString *sex;//性别
@property NSString *phoneNumber;//电话号码
@property NSString *address;//地址
@property NSString *grouping;//分组
//初始化(姓名,电话号码)
- (id)initWithName:(NSString*)name andPhonrNumber:(NSString*)phoneNumber andSex:(NSString*)sex andGrouping:(NSString*)grouping;
//构造器
+ (AddressContact*)addressContactWithName:(NSString*)name andPhonrNumber:(NSString*)phoneNumber andSex:(NSString*)sex andGrouping:(NSString*)grouping;
//显示联系人信息
- (void)peopleInfo;
@end
#import "AddressContact.h"
@implementation AddressContact
//初始化(姓名,电话号码)
- (id)initWithName:(NSString*)name andPhonrNumber:(NSString*)phoneNumber andSex:(NSString*)sex andGrouping:(NSString*)grouping
{
if (self = [super init]) {
_name = name;
_phoneNumber = phoneNumber;
_sex = sex;
_grouping = grouping;
}
return self;
}
//构造器
+ (AddressContact*)addressContactWithName:(NSString*)name andPhonrNumber:(NSString*)phoneNumber andSex:(NSString*)sex andGrouping:(NSString*)grouping
{
AddressContact *addressContact = [[AddressContact alloc] initWithName:name andPhonrNumber:phoneNumber andSex:sex andGrouping:grouping];
return addressContact;
}
//显示联系人信息
- (void)peopleInfo
{
NSLog(@"%@,%@,%@,%@,%@",_name,_sex,_address,_grouping,_phoneNumber);
}
@end
#import <Foundation/Foundation.h>
@class AddressContact;
@interface AddressBook : NSObject
@property NSMutableArray *array;//通讯录
//初始化
- (id)initWithArray:(NSMutableArray*)array;
//构造器
+ (AddressBook*)addressBookWithArray:(NSMutableArray*)array;
//显示所有联系人信息
- (void)arrayInfo;
//添加
- (void)addArray:(AddressContact*)d;
//获得某个分组的所有联系人
- (void)getGroupingNumber:(NSString*)g;
//根据电话号码搜索某人
- (void)phoneOfNumber:(NSString*)p;
//获取所有的女性
- (void)sexOfNumber:(NSString*)p;
//根据姓名删除联系人
- (void)removeForName:(NSString*)p;
//删除某个分组的全部联系人
- (void)removeForGrounping:(NSString*)p;
@end
#import "AddressBook.h"
#import "AddressContact.h"
@implementation AddressBook
//初始化
- (id)initWithArray:(NSMutableArray*)array
{
if (self = [super init]) {
_array = array;
}
return self;
}
//构造器
+ (AddressBook*)addressBookWithArray:(NSMutableArray*)array
{
AddressBook *addressBook = [[AddressBook alloc] initWithArray:array];
return addressBook;
}
//显示所有联系人信息
- (void)arrayInfo
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
[[_array objectAtIndex:i] peopleInfo];
}
}
//添加
- (void)addArray:(AddressContact*)d
{
if ([d name]!=NULL&&[d phoneNumber]!=NULL) {
[_array addObject:d];
}else{
NSLog(@"添加失败");
}
}
//获得某个分组的所有联系人
- (void)getGroupingNumber:(NSString*)g
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
if ([[[_array objectAtIndex:i] grouping] compare:g]==0) {
[[_array objectAtIndex:i] peopleInfo];
}
}
}
//根据电话号码搜索某人
- (void)phoneOfNumber:(NSString*)p
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
if ([[[_array objectAtIndex:i] phoneNumber] compare:p]==0) {
[[_array objectAtIndex:i] peopleInfo];
}
}
}
//获取所有的女性
- (void)sexOfNumber:(NSString*)p
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
if ([[[_array objectAtIndex:i] sex] compare:p]==0) {
[[_array objectAtIndex:i] peopleInfo];
}
}
}
//根据姓名删除联系人
- (void)removeForName:(NSString*)p
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
if ([[[_array objectAtIndex:i] name] compare:p]==0) {
[_array removeObjectAtIndex:i] ;
}
}
}
//删除某个分组的全部联系人
- (void)removeForGrounping:(NSString*)p
{
NSInteger count = [_array count];
for (int i = 0; i < count; i++) {
if ([[[_array objectAtIndex:i] grouping] compare:p]==0) {
[_array removeObjectAtIndex:i] ;
}
}
}
@end
#import <Foundation/Foundation.h>
#import "AddressContact.h"
#import "AddressBook.h"
int main(int argc, const char * argv[])
{
AddressContact *a1 = [AddressContact addressContactWithName:@"张三" andPhonrNumber:@"13777777777" andSex:@"男" andGrouping:@"同学"];
AddressContact *a2 = [AddressContact addressContactWithName:@"李四" andPhonrNumber:@"15888888888" andSex:@"女" andGrouping:@"同学"];
AddressContact *a3 = [AddressContact addressContactWithName:@"王五" andPhonrNumber:@"1234567890" andSex:@"男" andGrouping:@"仇人"];
NSMutableArray *array =[ [NSMutableArray alloc] initWithObjects:a1,a2, nil];
AddressBook *addressBook = [AddressBook addressBookWithArray:array];
[addressBook addArray:a3];
[addressBook arrayInfo];
//[addressBook getGroupingNumber:@"同学"];
[addressBook phoneOfNumber:@"1234567890"];
[addressBook sexOfNumber:@"女"];
return 0;
}