一.
// main.m
#import
#import "Contacts.h"
int main(int argc, const char * argv[]) {
// 实现简单通讯录操作。
// 1、定义联系人类Contact。实例变量:姓名、性别、电话号码、住址、分组名称。方法:初始化方法(姓名、电话号码)、显示联系人信息
// 2、在main.m中定义可变数组,管理所有联系人。可以添加新联系人对象,如果姓名或电话号码为空,打印添加失败。
// 3、获取某个分组下的所有联系人。
// 4、根据电话号码搜索联系人。
// 5、获取所有女性联系人
// 6、根据姓名删除联系人
// 7、删除某个分组全部联系人
// 8、展示通讯录中所有联系人
//创建可变数组
NSMutableArray *arr = [[NSMutableArrayalloc] initWithCapacity:0];
//创建联系人
Contacts *contacts = [[Contacts alloc] initWithName:@"悟空" number:@"010-544845" gender:@"男"];
contacts.group = @"同学";
//添加联系人
if (contacts.name==nil||[contacts.name isEqualToString:@" "]) {
NSLog(@"添加失败");
}else if(contacts.number==nil||[contacts.number isEqualToString:@" "]){
NSLog(@"添加失败");
}
else{
[arr addObject:contacts];
NSLog(@"添加联系人成功");
}
//创建联系人
Contacts *contacts1 = [[Contacts alloc]initWithName:@"八戒" number:@"0373-45454545" gender:@"男"];
contacts1.group = @"同事";
//添加联系人
if (contacts1.name == nil||[contacts1.name isEqualToString:@" "]) {
NSLog(@"添加失败");
}else if(contacts1.number == nil||[contacts1.number isEqualToString:@" "]){
NSLog(@"添加失败");
}else{
[arr addObject:contacts1];
NSLog(@"添加联系人成功");
}
//创建联系人
Contacts *contacts2 = [[Contacts alloc]initWithName:@"沙僧"number:@"1555485478" gender:@"女"];
contacts2.group = @"家人";
//添加联系人
if (contacts2.name ==nil || [contacts2.name isEqualToString:@" "]) {
NSLog(@"添加失败");
} else if(contacts2.number == nil ||[contacts2.number isEqualToString:@" "]){NSLog(@"添加失败");
}else{
[arr addObject:contacts2];
NSLog(@"添加联系人成功");
}
//打印所有联系人
NSLog(@"~~~~~~~~~~~~~~~所有联系人~~~~~~~~~~~~~~~~~");
for (Contacts *temp in arr) {
NSLog(@"%@",[temp description]);
}
//查找某个分组下的所有联系人
NSLog(@"~~~~~~~~~~~~~~分组为家人的所有联系人~~~~~~~~~~~~");
for (Contacts *temp in arr) {
if ([temp.group isEqualToString:@"家人"]) {
NSLog(@"%@",[temp description]);
}
}
//根据电话号码搜索联系人
NSLog(@"~~~~~~~~~~~~~~号码为010-544845的所有联系人~~~~~~~~~~~~");
for (Contacts *temp in arr) {
if ([temp.number isEqualToString:@"010-544845"]) {
NSLog(@"%@",[temp description]);
}
}
//获取所有女性联系人
NSLog(@"~~~~~~~~~~~~~所有女性联系人~~~~~~~~~~~~~~");
for (Contacts *temp in arr) {
if ([temp.gender isEqualToString:@"女"]) {
NSLog(@"%@",[temp description]);
}
}
//根据姓名删除联系人
NSLog(@"~~~~~~~~~~~~删除姓名为八戒的联系人~~~~~~~~~~~~~");
for (NSInteger i = 0 ; i < [arr count]; i++) {
Contacts *temp = [arr objectAtIndex:i];
if ([temp.name isEqualToString:@"八戒"]) {
[arr removeObject:temp];
i--;
NSLog(@"删除成功");
}
}
//删除某个分组全部联系人
NSLog(@"~~~~~~~~~~删除分组为同学的所有联系人~~~~~~~~~~~");
for (NSInteger i = 0; i < [arr count]; i++) {
Contacts *temp = [arr objectAtIndex:i];
if ([temp.group isEqualToString:@"同学"]) {
[arr removeObject:temp];
i--;
NSLog(@"删除分组成功");
}
}
//展示通讯录中所有的联系人
for (Contacts *temp in arr) {
NSLog(@"%@",[temp description]);
return 0;
}
二:
// Contacts.h
#import
@interface Contacts : NSObject
// 实现简单通讯录操作。
// 1、定义联系人类Contact。实例变量:姓名、性别、电话号码、住址、分组名称。方法:初始化方法(姓名、电话号码)、显示联系人信息
@property NSString *name,*gender,*number,*address,*group;
- (id)initWithName:(NSString *)name number:(NSString *)number gender:(NSString *)gender;
@end
三:
//
// Contacts.m
#import "Contacts.h"
@implementation Contacts
@synthesize name = _name,gender = _gender,number = _number,address = _address,group = _group;
-(id)initWithName:(NSString *)name number:(NSString *)number gender:(NSString *)gender{
if (self = [super init]) {
_name = name;
_number = number;
_gender = gender;
}
return self;
}
-(NSString *)description{
return [NSStringstringWithFormat:@"%@,%@,%@,%@,%@",_name,_gender,_number,_address,_group];
}
@end