添加电话本功能,其中每一个电话本实例中有多个电话卡Card对象,并实现增删改查功能(根据字段查找)。
#import <Foundation/Foundation.h>
#import "AddressBook.h"
int main(int argc, const char * argv[])
{
@autoreleasepool
{
Card* card1 = [[[Card alloc] initWitha:@"王健"
address:@"杭州萧山"
email:@"ytqr@163.com"
phone:@"15888819828"
age:31
salary:15000
stuId:@"677728"
certifyid:@"339005198413070312"
province:@"浙江"
city:@"杭州"
citycode:@"311200"
telephone:@"83800691"] autorelease];
Card* card2 = [[[Card alloc] initWitha:@"刘备"
address:@"北干一苑"
email:@"liubei@163.com"
phone:@"15888888888"
age:31
salary:15000
stuId:@"677729"
certifyid:@"339005198413070312"
province:@"浙江"
city:@"杭州"
citycode:@"311200"
telephone:@"83800692"] autorelease];
Card* card3 = [[[Card alloc] initWitha:@"孙权"
address:@"金色钱塘"
email:@"sunquan@163.com"
phone:@"13666666666"
age:25
salary:14000
stuId:@"677730"
certifyid:@"339005198413080312"
province:@"浙江"
city:@"杭州"
citycode:@"311200"
telephone:@"83800693"] autorelease];
Card* card4 = [[[Card alloc] initWitha:@"曹操"
address:@"钱江新城"
email:@"caocao@163.com"
phone:@"18787878877"
age:33
salary:18000
stuId:@"677731"
certifyid:@"339005198413090312"
province:@"浙江"
city:@"杭州"
citycode:@"311200"
telephone:@"83800694"] autorelease];
Card* card5 = [[[Card alloc] initWitha:@"孙权"
address:@"钱江新城"
email:@"caocao@163.com"
phone:@"18787878877"
age:33
salary:13000
stuId:@"677731"
certifyid:@"339005198413090312"
province:@"浙江"
city:@"杭州"
citycode:@"311200"
telephone:@"83800694"] autorelease];
// [card1 print];
// [card2 print];
// [card3 print];
// [card4 print];
//
AddressBook * add1 = [[AddressBook alloc] initWithName:@"网新龙虎榜"];
[add1 addCard:card1];
[add1 addCard:card2];
[add1 addCard:card3];
[add1 addCard:card4];
[add1 addCard:card5];
[add1 print];
[add1 removeByName:@"孙权"];
}
return 0;
}
#import <Foundation/Foundation.h>
@interface Card : NSObject
//年龄、薪资、学号、身份证号、省份、城市、地址、邮编、手机、固话
@property (nonatomic,copy) NSString* name;
@property (nonatomic,copy) NSString* email;
@property (nonatomic,copy) NSString* address;
@property (nonatomic,copy) NSString* phone;
@property (nonatomic,assign) int age;
@property (nonatomic,assign) double salary;
@property (nonatomic,copy) NSString* cid;
@property (nonatomic,copy) NSString* certify_id;
@property (nonatomic,copy) NSString* province;
@property (nonatomic,copy) NSString* city;
@property (nonatomic,copy) NSString* citycode;
@property (nonatomic,copy) NSString* telephone;
-(void)print;
-(void)setC:(NSString*)name
address:(NSString*)addresss
email:(NSString*)email
phone:(NSString*)phone
age:(int)age
salary:(double)salary
stuId:(NSString*)stuId
certifyid:(NSString*)certify_id
province:(NSString*)province
city:(NSString*)city
citycode:(NSString*)citycode
telephone:(NSString*)telephone ;
-(id)initWitha:(NSString*)name
address:(NSString*)addresss
email:(NSString*)email
phone:(NSString*)phone
age:(int)age
salary:(double)salary
stuId:(NSString*)stuId
certifyid:(NSString*)certify_id
province:(NSString*)province
city:(NSString*)city
citycode:(NSString*)citycode
telephone:(NSString*)telephone ;
@end
#import "Card.h"
@implementation Card
//姓名
@synthesize name;
//邮箱
@synthesize email;
//地址
@synthesize address;
//电话
@synthesize phone;
//年龄
@synthesize age;
//工资
@synthesize salary;
//学号
@synthesize cid;
//身份证号
@synthesize certify_id;
//省
@synthesize province;
//城市
@synthesize city;
//区号
@synthesize citycode;
//固定电话
@synthesize telephone;
-(void)print
{
NSLog(@"\n");
NSLog(@"--------------------");
NSLog(@"------姓名:%@-------",name);
NSLog(@" 年龄:%i",age);
NSLog(@" 薪资:%5.2f" ,salary);
NSLog(@" 学号:%@",cid);
NSLog(@" 身份证号:%@",certify_id);
NSLog(@" 省份:%@",province);
NSLog(@" 城市:%@",city);
NSLog(@" 地址:%@",address);
NSLog(@" 邮编:%@",citycode);
NSLog(@" 手机:%@",phone);
NSLog(@" 固话:%@",telephone);
// // NSLog(@"-------------------------");年龄、薪资、学号、身份证号、省份、城市、地址、邮编、手机、固话
// NSLog(@"%@ %@ %@ %@",name,address,email,phone);
// NSLog(@"%i %0.2f %@ %@",age,salary,cid ,certify_id);
// NSLog(@"%@ %@ %@ %@",province,city,citycode,telephone);
// // NSLog(@"-------------------------");
}
-(void)setC:(NSString*)n
address:(NSString*)a
email:(NSString*)e
phone:(NSString*)p
age:(int)ag
salary:(double)s
stuId:(NSString*)sid
certifyid:(NSString*)cd
province:(NSString*)pr
city:(NSString*)ci
citycode:(NSString*)cc
telephone:(NSString*)tp
{
self.name = n;
self.email = e;
self.address = a;
self.phone = p;
self.age=ag;
self.salary=s;
self.cid=sid;
self.certify_id=cd;
self.province=pr;
self.city=ci;
self.citycode=cc;
self.telephone=tp;
}
-(id)initWitha:(NSString*)n
address:(NSString*)a
email:(NSString*)e
phone:(NSString*)p
age:(int)ag
salary:(double)s
stuId:(NSString*)sid
certifyid:(NSString*)cd
province:(NSString*)pr
city:(NSString*)ci
citycode:(NSString*)cc
telephone:(NSString*)tp
{
if (self=[super init])
{
[self setC:n
address:a
email:e
phone:p
age:ag
salary:s
stuId:sid
certifyid:cd
province:pr
city:ci
citycode:cc
telephone:tp];
}
return self;
}
- (void)dealloc
{
self.name =nil;
self.email = nil;
self.address = nil;
self.phone = nil;
self.citycode = nil;
self.certify_id = nil;
self.province = nil;
self.city = nil;
self.citycode = nil;
self.telephone=nil;
[super dealloc];
}
@end
#import <Foundation/Foundation.h>
#import "Card.h"
@interface AddressBook : NSObject
@property (nonatomic,retain) NSMutableArray * cardarray;
@property (nonatomic,copy) NSString* bookname;
-(id)initWithName:(NSString*)bname;
-(void)addCard:(Card*) card;
-(bool) removeByName:(NSString *) theName;
-(void)removeCard:(Card*) card;
-(NSMutableArray*)lookup:(NSString*) keyword;
-(Card*)selectACard:(NSString*) keyword;
-(unsigned long)cardCount;
-(void)print;
@end
#import "AddressBook.h"
@implementation AddressBook
@synthesize bookname,cardarray;
-(id)initWithName:(NSString*)bname
{
if (self=[super init]) {
self.bookname = bname;
self.cardarray = [[[NSMutableArray alloc] init] autorelease];
}
return self;
}
-(void)addCard:(Card*) card
{
[cardarray addObject:card];
}
-(bool) removeByName:(NSString *) theName
{
int temp = 0;
for(Card* card1 in cardarray)
{
if ([card1.name isEqualToString:theName])
{
[cardarray removeObject:card1];
temp ++;
break;
}
}
NSLog(@"共删除%i条数据。",temp);
if (temp ==0) {
return false;
}
return true;
}
-(void)removeCard:(Card*) card
{
[cardarray removeObject:card];
}
-(NSMutableArray*)lookup:(NSString*) keyword
{
NSMutableArray* arr1 = [[[NSMutableArray alloc]init] autorelease ];
for (Card* card1 in cardarray) {
if ([card1.name rangeOfString:keyword].length>0 ) {
[arr1 addObject:card1];
}
}
NSLog(@"find result: count = %li", arr1.count);
for(Card* cardt in arr1)
{
[cardt print];
}
return arr1;
}
-(Card*)selectACard:(NSString*) keyword
{
for (Card* card1 in cardarray) {
if ([card1.name rangeOfString:keyword].length>0 ) {
NSLog(@"找到数据:");
[card1 print];
return card1;
}
}
return Nil;
}
-(unsigned long)cardCount
{
return [cardarray count];
}
-(void)print
{
NSLog(@"======================");
NSLog(@"电话本:%@", bookname);
NSLog(@"======================");
for(Card* card1 in cardarray){
[card1 print];
}
NSLog(@"======================");
}
@end