欢迎使用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;
}
//=====================================================//
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- Java设计模式——状态模式(State)
- php怎样清除浏览器缓存
- 汇编学习笔记--寄存器(内存访问 1)
- [leetcode] 69.Sqrt(x)
- 数组与ArrayList的关系与区别
- 欢迎使用CSDN-markdown编辑器
- Mysql创建及删除用户命令
- 双边滤波
- 16 观察者模式
- python 实现网站图片抓取小爬虫
- thinkphp+js生成曲线图
- uiview边框圆角阴影
- 多线程断点下载器
- 大话设计模式之简单工厂模式