欢迎使用CSDN-markdown编辑器

来源:互联网 发布:ios uitableview优化 编辑:程序博客网 时间:2024/04/28 02:10

//
// Person.h
// AddressBook
//
// Created by lanou3g on 15/5/19.
// Copyright (c) 2015年 Nicolas. All rights reserved.
//

import

import “Person.h”

@implementation Person
@synthesize name=_name;
@synthesize sex=_sex;
@synthesize age=_age;
@synthesize phoneNum=_phoneNum;

-(void)dealloc{
[_name release];
[_sex release];
[_phoneNum release];
[super dealloc];

}
//初始化
-(id)initWithName:(NSString )name sex:(NSString )sex phoneNum:(NSString *)phoneNum age:(NSUInteger)age{
if (self = [super init]) {
_name = name;
_sex = sex;
_phoneNum = phoneNum;
_age = age;
}
return self;
}

//便利构造器
+(id)personWithName:(NSString )name sex:(NSString )sex phoneNum:(NSString *)phoneNum age:(NSUInteger)age{
Person *person = [[Person alloc]initWithName:name sex:sex phoneNum:phoneNum age:age];
return [person autorelease];
}

//重写desciption
-(NSString *)description{
return [NSString stringWithFormat:@”姓名:%@\t性别:%@ \t年龄:%lu \t电话:%@”,_name,_sex,_age,_phoneNum];
}
@end

//=====================================================

//
// AddressBook.h
// AddressBook
//
// Created by lanou3g on 15/5/19.
// Copyright (c) 2015年 Nicolas. All rights reserved.
//

import

import

import

if 0

//实现传进来的名字的首字母大写
+(void)capitalizedFirstLetter:(NSString *)name;

endif

//将汉字转化为拼音
-(NSString *)pinyinOfName;

//汉字转化为拼音后,返回大写的首字母
-(NSString *)uppercasePinYinFirstLetter;

@end

//=====================================================

//
// NSString+Characters.h
// AddressBook
//
// Created by lanou3g on 15-4-10.
// Copyright (c) 2015年 tongxing. All rights reserved.
//

import

if 0

//实现传进来的名字的首字母大写
+(void)capitalizedFirstLetter:(NSString *)name;

endif

//将汉字转化为拼音
-(NSString *)pinyinOfName;

//汉字转化为拼音后,返回大写的首字母
-(NSString *)uppercasePinYinFirstLetter;

@end

//=====================================================

//
// main.m
// AddressBook
//
// Created by lanou3g on 15/5/19.
// Copyright (c) 2015年 Nicolas. All rights reserved.
//

import

import “AddressBook.h”

import “Person.h”

import “NSString+Characters.h”

int main(int argc, const char * argv[])
{

@autoreleasepool {    //        一、功能描述:    //    //         main函数中通过使用Person类和AddressBook类,创建对象、调用方法,实现以下8个功能:    //         1).使用便利构造器创建四个Person类的实例(联系人).    //         姓名:Lucy 性别:女 电话:123 年龄:21    //         姓名:Joe 性别:男 电话:456 年龄:17    //         姓名:Baby 性别:女 电话:789 年龄:27    //         姓名:Linda 性别:女 电话:000 年龄:21    Person *person1 = [Person personWithName:@"Lucy" sex:@"女" phoneNum:@"123" age:21];    Person *person2 = [Person personWithName:@"Joe" sex:@"男" phoneNum:@"456" age:17];    Person *person3 = [Person personWithName:@"Baby" sex:@"女" phoneNum:@"789" age:27];    Person *person4 = [Person personWithName:@"Lin" sex:@"女" phoneNum:@"000" age:21];    Person *person5 = [Person personWithName:@"刘" sex:@"女" phoneNum:@"888" age:26];    AddressBook *addressBook = [[AddressBook alloc]init];    NSLog(@"---------------功能3:添加联系人:");    if ([addressBook addPerson:person1]) {        NSLog(@"%@添加成功.",person1);    }else{        NSLog(@"%@添加失败.",person1);    }    if ([addressBook addPerson:person2]) {        NSLog(@"%@ 添加成功。",person2);    }else {        NSLog(@"%@ 添加失败。",person2);    }    if ([addressBook addPerson:person3]) {        NSLog(@"%@ 添加成功。",person3);    }else {        NSLog(@"%@ 添加失败。",person3);    }    if ([addressBook addPerson:person4]) {        NSLog(@"%@ 添加成功。",person4);    }else {        NSLog(@"%@ 添加失败。",person4);    }    if ([addressBook addPerson:person5]) {        NSLog(@"%@ 添加成功。",person5);    }else {        NSLog(@"%@ 添加失败。",person5);    }    if ([addressBook addPerson:person1]) {        NSLog(@"%@添加成功.",person1);    }else{        NSLog(@"%@添加失败.",person1);    }    Person *findPhonePerson = [[Person alloc] init];    findPhonePerson = [addressBook findPersonWithPhoneNum:@"456"];    NSLog(@"%@",findPhonePerson);    [findPhonePerson release];    findPhonePerson = nil;    NSLog(@"---------------功能5:根据性别查找联系人,并将查到的联系人按照年龄升序排序,并打印:");    NSMutableArray *findSexArr = [NSMutableArray arrayWithArray:[addressBook findPersonsWithSex:@"女"] ];    for (Person *tmp in findSexArr) {        NSLog(@"%@",tmp);    }    NSLog(@"---------------功能6:根据姓名,更改联系人信息.:");    if ([addressBook changePersonWithName:@"Linda" phoneNum:@"012" sex:@"女" age:25]) {        NSLog(@"添加Linda成功。");    }else {        NSLog(@"修改Linda失败。");    }    NSLog(@"---------------功能7:按照姓名删除联系人,并展示通信录中所有人信息:");    if ([addressBook deletePersonWithName:@"Baby"]) {        NSLog(@"删除Baby成功。");    }else {        NSLog(@"删除Baby失败。");    }    NSLog(@"---------------功能8:删除一个分组,并展示通信录中所有人信息.:");    if ([addressBook deleteGroup:@"L"]) {        NSLog(@"删除L组成功。");    }else {        NSLog(@"删除L组失败。");    }    NSLog(@"---------------功能9:输出通讯录中所有联系人信息。:");    [addressBook showAll];    [addressBook release];    addressBook = nil;}return 0;

}

//=====================================================//

0 0
原创粉丝点击