用OC語言完成簡易通訊錄 實現增刪改查 功能

2021-07-04 13:42:45 字數 4354 閱讀 4904

一、功能描述:

main函式中通過使用person類和addressbook類,建立物件、呼叫方法,實現以下8個功能:

1).使用便利構造器建立四個person類的例項(聯絡人).

2).建立乙個addressbook類的例項物件(通訊錄).

5).使用addressbook類中定義的方法實現:根據性別查詢聯絡人,並將查到的聯絡人按照年齡公升序排序,並列印(查詢性別:女)

7).使用addressbook類中定義的方法實現:按照姓名刪除聯絡人,並展示通訊錄中所有人資訊.(刪除聯絡人:baby)

8).使用addressbook類中定義的方法實現:刪除乙個分組,並展示通訊錄中所有人資訊.(刪除l組)

9).使用addressbook類中定義的方法實現:實現3~8之間每個功能後,輸出通訊錄中所有聯絡人資訊

實現程式

這裡寫**片

person.h

#import

#import "nsstring+characters.h"

@inte***ce

person : nsobject

@property(nonatomic ,retain)nsstring *name;

@property (nonatomic ,retain)nsstring *gender;

@property(nonatomic , retain)nsstring *groupname;

@property (nonatomic,assign)int age;

@property (nonatomic,retain)nsstring *phonenumber;

- (id)initwithname:(nsstring *)name gender:(nsstring *)gender phonenumber:(nsstring *)phonenumber age:(int)age;

+ (id)personwithname:(nsstring *)name gender:(nsstring *)gender phonenumber:(nsstring *)phonenumber age:(int)age;

- (nsstring *)description;

#import "person.h"

@implementation

person

- (id)initwithname:(nsstring *)name gender:(nsstring *)gender phonenumber:(nsstring *)phonenumber age:(int)age

return

self;

}+ (id)personwithname:(nsstring *)name gender:(nsstring *)gender phonenumber:(nsstring *)phonenumber age:(int)age

- (nsstring *)description

- (void)dealloc

@end

//addressbook

#import

@class

person ;

@inte***ce

addressbook : nsobject

@property(nonatomic,retain)nsmutabledictionary * allpersondic;

- (bool)addperson:(person *)aperson;

- (person *)findpersonwithphonenum:(nsstring *)aphonenum;

- (nsarray *)findpersonswith***:(nsstring *)a***;

-(bool)changepersonwithname:(nsstring *)name phonenum:(nsstring *)anum ***:(nsstring *)a*** age:(nsuinteger) aage;

- (bool)deletepersonwithname:(nsstring*)apersonname;

- (bool)deletegroup:(nsstring *)agroupname;

-(void)showall;

@end

#import "addressbook.h"

#import "person.h"

@implementation

addressbook

- (id)init

return

self ;

}//新增聯絡人

- (bool)addperson:(person *)aperson

nsmutablearray * onegroup = [_allpersondic objectforkey:[aperson groupname] ];

//如果姓名重複返回no

for (person * p in onegroup)

}//不存在建立分組後再儲存

if (onegroup == nil) else

return

yes;

}//根據**查詢某個聯絡人

- (person *)findpersonwithphonenum:(nsstring *)aphonenum

}} return

nil;

}//根據姓名,更改聯絡人資訊

- (nsarray *)findpersonswith***:(nsstring *)a***}}

[searcharray sortusingcomparator:^nscomparisonresult(id obj1, id obj2) ];

return searcharray;

}//根據姓名,更改聯絡人

- (bool)changepersonwithname:(nsstring *)name phonenum:(nsstring *)anum ***:(nsstring *)a*** age:(nsuinteger) aage}}

return

no;}

//按照姓名刪除聯絡人

- (bool)deletepersonwithname:(nsstring*)apersonname

}[ onegroup removeobjectsinarray:deletearray];

if ( onegroup.count == 0)

}return

no;}

//刪除乙個分組

- (bool)deletegroup:(nsstring *)agroupname

}return

no;}

- (void)showall

}}- (void)dealloc

@end

//**nsstring+characters.m**

#import "nsstring+characters.h"

@implementation

nsstring (characters)

//講漢字轉換為拼音

- (nsstring *)pinyinofstring

return string;

}//漢字轉換為拼音後,返回大寫的首字母

- (nsstring *)firstcharacterofstring

nsstring * result;

result = [first substringwithrange:nsmakerange(0, 1)];

return result.uppercasestring;

}@end

#import

#import "person.h"

#import "addressbook.h"

int main(int argc, const

char * argv)

nslog(@"*****===");

//更改聯絡人資訊

[book changepersonwithname:@"linda" phonenum:@"012" ***:@"女" age:25];

[book showall];

nslog(@"*****===");

//刪除聯絡人

[book deletepersonwithname:@"baby"];

[book showall];

nslog(@"*****===");

//刪除分組

[book deletegroup:@"l"];

[book showall];

[book release];

}return

0;}

OC簡易通訊錄

addressbook.m implementation addressbook 重寫初始化方法 instancetype init return self instancetype init return self 新增新聯絡人 void addcontact contact contact el...

用C語言實現簡易通訊錄

c語言實現乙個通訊錄,通訊錄可以用來儲存1000個人的資訊,每個人的資訊包括 姓名 性別 年齡 住址 提供方法 1.新增聯絡人資訊 2.刪除指定聯絡人資訊 3.查詢指定聯絡人資訊 4.修改指定聯絡人資訊 5.顯示所有聯絡人資訊 6.清空所有聯絡人 7.以名字排序所有聯絡人 思路分析 首先我們可以分三...

OC中簡易通訊錄框架

contact.h import inte ce contact nsobject void setname nsstring name nsstring name void setgender nsstring gender nsstring gender void setphonenumber ...