簡單通信錄:ide
一、定義聯繫人類ContactPerson。實例變量:姓名、性別、電話號碼、住址、方法:自定義初始化方法(姓名、電話號碼)、顯示聯繫人信息spa
二、定義通信錄AddressBook類,管理全部聯繫人。能夠添加新聯繫人對象,若是姓名或電話號碼爲空,打印添加失敗。orm
三、獲取全部聯繫人。對象
四、根據電話號碼搜索聯繫人。ci
五、獲取全部同性別聯繫人rem
六、根據姓名刪除聯繫人it
七、展現通信錄中全部聯繫人io
ContactPerson.htable
#import <Foundation/Foundation.h>form
@interface ContactPerson : NSObject
{
NSString * _name;
NSString * _sex;
NSInteger _telePhoneNumber;
NSString * _address;
}
- (void)setName:(NSString *)name;
- (NSString *)name;
- (void)setSex:(NSString *)sex;
- (NSString *)sex;
- (void)setTelePhoneNumber:(NSInteger)telePhoneNumber;
- (NSInteger)telePhoneNumber;
- (void)setAddress:(NSString *)address;
- (NSString *)address;
- (id)initWithName:(NSString *)name
sex:(NSString *)sex
telePhoneNumber:(NSInteger)telePhoneNumber
address:(NSString *)address;
+ (id)ContactPersonWithName:(NSString *)name
sex:(NSString *)sex
telePhoneNumber:(NSInteger)telePhoneNumber
address:(NSString *)address;
- (void)showInformation;
@end
ContactPerson.m
#import "ContactPerson.h"
@implementation ContactPerson
- (void)setName:(NSString *)name
{
_name = name;
}
- (NSString *)name
{
return _name;
}
- (void)setSex:(NSString *)sex
{
_sex = sex;
}
- (NSString *)sex
{
return _sex;
}
- (void)setTelePhoneNumber:(NSInteger)telePhoneNumber
{
_telePhoneNumber = telePhoneNumber;
}
- (NSInteger)telePhoneNumber
{
return _telePhoneNumber;
}
- (void)setAddress:(NSString *)address
{
_address = address;
}
- (NSString *)address
{
return _address;
}
- (id)initWithName:(NSString *)name
sex:(NSString *)sex
telePhoneNumber:(NSInteger)telePhoneNumber
address:(NSString *)address
{
self = [super init];
if (self) {
_name = name;
_sex = sex;
_telePhoneNumber = telePhoneNumber;
_address = address;
}
return self;
}
+ (id)ContactPersonWithName:(NSString *)name
sex:(NSString *)sex
telePhoneNumber:(NSInteger)telePhoneNumber
address:(NSString *)address
{
ContactPerson * p = [[ContactPerson alloc] initWithName:name sex:sex telePhoneNumber:telePhoneNumber address:address];
//便利構造器要申請空間!!!!!!!!!!!!!!!!!! 再用initWithName
return p;
}
- (void)showInformation
{
NSLog(@"聯繫人:姓名:%@, 性別:%@, 電話號碼:%ld, 住址:%@", _name, _sex, _telePhoneNumber, _address);
}
AddressBook.h
#import <Foundation/Foundation.h>
@class ContactPerson;
@interface AdressBook : NSObject
{
NSMutableArray * _array;
}
- (void)addPerson:(ContactPerson *)person;
- (void)NslogArray;
- (id)initWithArray:(NSMutableArray *)array;
- (void)searchPersonByTelePhone:(NSInteger)tele;
- (void)FindTheSameSexPerson;
- (void)DeletePersonByName:(NSString *)name;
- (void)addPerson1:(NSString *)name //封裝了addPerson,更簡潔,聚合高
sex:(NSString *)sex
telephone:(NSInteger)telephone
address:(NSString *)address;
@end
AddressBook.m
#import "AdressBook.h"
#import "ContactPerson.h"
@implementation AdressBook
- (void)addPerson:(ContactPerson *)person
{
if (person.name != nil && person.telePhoneNumber != 0) {
[_array addObject:person];
NSLog(@"添加%@成功", person.name);
}
else{
NSLog(@"添加失敗");
}
}
- (void)NslogArray
{
if ([_array count] == 0) {
NSLog(@"全部聯繫人爲空!");
}
for (int i = 0; i < [_array count]; i++) {
[[_array objectAtIndex:i] showInformation];
}
}
- (id)initWithArray:(NSMutableArray *)array
{
self = [super init];
if (self) {
_array = array;
}
return self;
}
- (void)searchPersonByTelePhone:(NSInteger)tele
{
for (int i = 0; i < [_array count]; i++) {
if (tele == [[_array objectAtIndex:i] telePhoneNumber] ) {
NSLog(@"你要找的聯繫人是:");
[[_array objectAtIndex:i] showInformation];
break;
}
}
NSLog(@"查無此人!!!");
}
- (void)FindTheSameSexPerson
{
NSString * str = @"男";
NSString * str1 = @"女";
NSLog(@"全部男性聯繫人:");
for (int i = 0; i < [_array count]; i++) {
if ([[_array objectAtIndex:i] sex] == str) {
[[_array objectAtIndex:i] showInformation];
}
}
NSLog(@"全部女性聯繫人:");
for (int i = 0; i < [_array count]; i++) {
if ([[_array objectAtIndex:i] sex] == str1) {
[[_array objectAtIndex:i] showInformation];
}
}
}
- (void)DeletePersonByName:(NSString *)name
{
NSLog(@"刪除後全部聯繫人:");
for (int i = 0; i < [_array count]; i++) {
if ( [[[_array objectAtIndex:i] name]isEqualToString:name]) {
[_array removeObjectAtIndex:i];
}
}
}
- (void)addPerson1:(NSString *)name
sex:(NSString *)sex
telephone:(NSInteger)telephone
address:(NSString *)address
{
if (name != nil && telephone != 0) {
NSLog(@"添加%@成功", name);
}
else{
NSLog(@"添加失敗");
}
ContactPerson * p = [[ContactPerson alloc]initWithName:name sex:sex telePhoneNumber:telephone address:address];
[_array addObject:p];
}
@end
main.m
#import <Foundation/Foundation.h>
#import "ContactPerson.h"
#import "AdressBook.h"
int main(int argc, const char * argv[]) {
ContactPerson * p1 = [ContactPerson ContactPersonWithName:@"鄧超" sex:@"男" telePhoneNumber:15378710000 address:@"上海市"];
NSMutableArray * array = [[NSMutableArray alloc]initWithCapacity:1];
AdressBook * adr = [[AdressBook alloc]initWithArray:array];
[adr NslogArray];
ContactPerson * p2 = [ContactPerson ContactPersonWithName:@"孫儷" sex:@"女" telePhoneNumber:15378710001 address:@"北京市"];
ContactPerson * p3 = [ContactPerson ContactPersonWithName:@"陳赫" sex:@"男" telePhoneNumber:15378710002 address:@"南京市"];
ContactPerson * p4 = [ContactPerson ContactPersonWithName:@"孫藝洲" sex:@"男" telePhoneNumber:15378710003 address:@"蘇州市"];
ContactPerson * p5 = [ContactPerson ContactPersonWithName:nil sex:@"女" telePhoneNumber:15378710005 address:@"北京市"];
ContactPerson * p6 = [ContactPerson ContactPersonWithName:@"謝娜" sex:@"女" telePhoneNumber:15378710006 address:@"湖南省長沙市湘潭路128號"];
[adr addPerson:p1];
[adr addPerson:p2];
[adr addPerson:p3];
[adr addPerson:p4];
[adr addPerson:p5];
[adr addPerson:p6];
[adr addPerson1:@"王寶強" sex:@"男" telephone:1537870009 address:@"太原市"];
//將添加聯繫人功能封裝!!!**************addPerson1********************
[adr NslogArray];
NSInteger a = 0;
NSLog(@"請輸入要搜尋的電話號碼:");
scanf("%ld", &a);
[adr searchPersonByTelePhone:a]; //根據電話號碼查找聯繫人
[adr FindTheSameSexPerson]; //找到同一性別的聯繫人
[adr DeletePersonByName:@"陳赫"];//根據姓名刪除聯繫人
[adr NslogArray]; //顯示刪除後的全部聯繫人
return 0;
}