/* 實現中等難度通訊錄。需求:
1、定義聯絡人類addresscontact。例項變數:姓名(拼音,首字母大寫)、性別、**號碼、住址、分組名稱、年齡。方法:自定義初始化方法(姓名、**號碼)、顯示聯絡人資訊
2、在main.m中定義字典,分組管理所有聯絡人。分組名為26個大寫的英文本母。
3、可以新增聯絡人物件,如果姓名或**號碼為空,新增失敗。新增聯絡人到匹配的分組。
4、獲取某個分組名稱下所有聯絡人,並且按照姓名公升序排列。
5、從通訊錄中根據**號碼搜尋聯絡人。
6、獲取所有女性的聯絡人,並且按照年齡的降序排列。
7、根據姓名刪除某個聯絡人。
8、刪除某個分組的全部聯絡人。*/
addresscontact.h
#import
@inte***ce addresscontact : nsobject
//初始化
- (id)initwithname:(nsstring *)name telnum:(nsstring *)telnum;
+ (id)initwithname:(nsstring *)name telnum:(nsstring *)telnum;
//顯示該聯絡人資訊
- (void)showinfo;
//顯示所有聯絡人資訊
- (void)showallinfo:(nsmutabledictionary *)addressbook;
//新增聯絡人到通訊錄
- (void)addtoaddressbook:(nsmutabledictionary *)adressbook;
//顯示某個分組下的所有聯絡人的姓名
- (void)getallbykey:(nsstring *)key ofaddressbook:(nsmutabledictionary *)addressbook;
//獲得某個分組下的所有聯絡人
- (nsmutablearray *)getalladdresscontectbygroup:(nsstring *)groupname ofaddressbook:(nsmutabledictionary *)addressbook;
//根據**號碼搜尋,顯示目標聯絡人所有資訊
- (void)getallinfobytelnum:(nsstring *)telnum ofaddressbook:(nsmutabledictionary *)addressbook;
//根據**號碼搜尋,獲取所有聯絡人的陣列
- (nsmutablearray *)getalladdresscontectsbytelnum:(nsstring *)telnum ofaddressbook:(nsmutabledictionary *)addressbook;
//刪除某個分組所有聯絡人
- (void)deleteallwithkey:(nsstring *)key ofaddressbook:(nsmutabledictionary *)addressbook;
//按姓名刪除某個聯絡人
- (void)deletewithname:(nsstring *)name ofaddressbook:(nsmutabledictionary *)addressbook;
- (nsstring *)getname;
- (nsstring *)get***;
- (nsstring *)gettelnum;
- (nsstring *)getaddress;
- (nsstring *)getgroup;
- (int)getage;
- (void)setage:(int)age;
@end
addresscontact.m
#import "addresscontact.h"
@implementation addresscontact
//初始化
- (id)initwithname:(nsstring *)name telnum:(nsstring *)telnum
return self;
}+ (id)initwithname:(nsstring *)name telnum:(nsstring *)telnum
- (nsstring *)getname
- (nsstring *)get***
- (nsstring *)gettelnum
- (nsstring *)getaddress
- (nsstring *)getgroup
- (int)getage
- (void)setage:(int)age
//顯示該聯絡人資訊
- (void)showinfo
//顯示所有聯絡人資訊
- (void)showallinfo:(nsmutabledictionary *)addressbook}}
//新增聯絡人到通訊錄
- (void)addtoaddressbook:(nsmutabledictionary *)adressbookelse
}//顯示某個分組下得所有聯絡人的姓名
- (void)getallbykey:(nsstring *)key ofaddressbook:(nsmutabledictionary *)addressbook
}//獲得某個分組下的所有聯絡人物件,並按姓名公升序排序
- (nsmutablearray *)getalladdresscontectbygroup:(nsstring *)groupname ofaddressbook:(nsmutabledictionary *)addressbook
//根據**號碼搜尋,顯示聯絡人所有資訊
- (void)getallinfobytelnum:(nsstring *)telnum ofaddressbook:(nsmutabledictionary *)addressbook}}
}//根據**號碼搜尋,獲取所有聯絡人的陣列
- (nsmutablearray *)getalladdresscontectsbytelnum:(nsstring *)telnum ofaddressbook:(nsmutabledictionary *)addressbook}}
arr = (nsmutablearray *)[arr sortedarrayusingselector:@selector(comparewithname:)];
return arr; //返回聯絡人陣列 }
//刪除某個分組所有聯絡人
- (void)deleteallwithkey:(nsstring *)key ofaddressbook:(nsmutabledictionary *)addressbook
//按姓名刪除某個聯絡人
- (void)deletewithname:(nsstring *)name ofaddressbook:(nsmutabledictionary *)addressbook}}
//按姓名比較聯絡人
- (nscomparisonresult)comparewithname:(addresscontact *)anotherac
- (nscomparisonresult)comparewithage:(addresscontact *)anotherac else if ([self getage] == [anotherac getage]) else
// return result * -1;
return [self getage] > [anotherac getage]; //>:公升序
<:降序 }
@end
main.m
@autoreleasepool
//將資訊新增進通訊錄
[p1 addtoaddressbook:addressbook];
[p2 addtoaddressbook:addressbook];
[p3 addtoaddressbook:addressbook];
[p4 addtoaddressbook:addressbook];
[p5 addtoaddressbook:addressbook];
//按首字母查詢所有資訊
// [p1 getallbykey:@"w" ofaddressbook:addressbook];
nsmutablearray * acs = [p1 getalladdresscontectbygroup:@"w" ofaddressbook:addressbook];
for (addresscontact * ac in acs)
//顯示通訊錄中所有資訊
//[p1 showallinfo:addressbook];
//通過**號碼搜尋聯絡人
//[p1 getallinfobytelnum:@"18686886570" ofaddressbook:addressbook];
//刪除某個分組下得所有聯絡人
//[p1 deleteallwithkey:@"z" ofaddressbook:addressbook];
//[p1 showallinfo:addressbook];
//按姓名刪除聯絡人
//[p1 deletewithname:@"zang wang wang" ofaddressbook:addressbook];
//[p1 showallinfo:addressbook];
}
OC簡易通訊錄
addressbook.m implementation addressbook 重寫初始化方法 instancetype init return self instancetype init return self 新增新聯絡人 void addcontact contact contact el...
實現中等通訊錄 OC
實現中等難度通訊錄。需求 1 定義聯絡 類contact。例項變數 姓名 拼 音,首字母 大寫 性別 號碼 住址 分組名稱 年齡。方法 定義初始化方法 姓名 號碼 顯示聯絡人資訊 2 在main.m中定義字典,分組管理所有聯絡人。分組名為26個大寫的英文本母。3 可以新增聯絡 物件,如果姓名或 號碼...
OC第三題通訊錄
通訊錄是乙個字典,key為a z,對應的value為陣列,陣列裡存的是相應的資訊,人的資訊也寫成了字典.僅供參考,可以實現要求功能 主函式內容 nsmutabledictionary addressbook nsmutabledictionaryalloc init person k personp...