OC中简易通讯录框架

来源:互联网 发布:mac安装卸载软件 编辑:程序博客网 时间:2024/06/05 21:39

Contact.h

#import <Foundation/Foundation.h>@interface Contact : NSObject{@protected    NSString *_name;    NSString *_gender;    NSString *_phoneNumber;    NSString *_address;    NSString *_group;}- (void)setName:(NSString *)name;- (NSString *)name;- (void)setGender:(NSString *)gender;- (NSString *)gender;- (void)setPhoneNumber:(NSString *)phoneNumber;- (NSString *)phoneNumber;- (void)setAddress:(NSString *)address;- (NSString *)address;- (void)setGroup:(NSString *)group;- (NSString *)group;- (instancetype)initWithName:(NSString *)name                 phoneNumber:(NSString *)phoneNumber                       group:(NSString *)group;+ (instancetype)contactWithName:(NSString *)name                    phoneNumber:(NSString *)phoneNumber                          group:(NSString *)group;- (void)show;@end

Contact.m

#import "Contact.h"@implementation Contact- (void)setName:(NSString *)name{    _name = name;}- (NSString *)name{    return _name;}- (void)setGender:(NSString *)gender{    _gender = gender;}- (NSString *)gender{    return _gender;}- (void)setPhoneNumber:(NSString *)phoneNumber{    _phoneNumber = phoneNumber;}- (NSString *)phoneNumber{    return _phoneNumber;}- (void)setAddress:(NSString *)address{    _address = address;}- (NSString *)address{    return _address;}- (void)setGroup:(NSString *)group{    _group = group;}- (NSString *)group{    return _group;}- (instancetype)initWithName:(NSString *)name                 phoneNumber:(NSString *)phoneNumber                       group:(NSString *)group{    self = [super init];    if (self) {        _name = name;        _phoneNumber = phoneNumber;        _group = group;    }    return self;}+ (instancetype)contactWithName:(NSString *)name                    phoneNumber:(NSString *)phoneNumber                          group:(NSString *)group{    return [[Contact alloc] initWithName:name phoneNumber:phoneNumber group:group];}- (void)show{    NSLog(@"name = %@ gender = %@ phoneName = %@ address = %@ group = %@", _name, _gender, _phoneNumber, _address, _group);}@end

AddressBook.h

#import <Foundation/Foundation.h>@class Contact;@interface AddressBook : NSObject{    @protected    NSMutableArray *_allDataMutableArray; // 存放联系人对象    NSString *_verson;}- (void)setVerson:(NSString *)verson;- (NSString *)verson;// 添加联系人- (void)addContact:(Contact *)contact;// 根据姓名搜索联系人- (Contact *)findContactWithName:(NSString *)name;// 根据姓名删除联系人- (void)deletContactWithName:(NSString *)name;// 显示所有联系人- (void)showAllContact;@end

AddressBook.m

#import "AddressBook.h"#import "Contact.h"@implementation AddressBook- (void)setVerson:(NSString *)verson{    _verson = verson;}- (NSString *)verson{    return _verson;}// 重写init方法内部实现可变数组的创建- (instancetype)init{    self = [super init];    if (self) {        _allDataMutableArray = [NSMutableArray array];    }    return self;}// 添加联系人- (void)addContact:(Contact *)contact{    if (contact.name.length == 0 && contact.phoneNumber == 0) {        NSLog(@"姓名或者电话号码为空,添加失败!");    } else {        [_allDataMutableArray addObject:contact];        NSLog(@"添加成功!");    }}// 根据姓名搜索联系人- (Contact *)findContactWithName:(NSString *)name{    for (Contact *c in _allDataMutableArray) {        [c.name isEqualToString:name];        return c;    }    return nil; // 如果找不到联系人,返回空}// 根据姓名删除联系人- (void)deletContactWithName:(NSString *)name{    // 快速遍历中删除一个元素之后,结束遍历    for (Contact *c in _allDataMutableArray) {        if ([c.name isEqualToString:name] == YES) {            [_allDataMutableArray removeObject:c];            break;        }    }}// 显示所有联系人- (void)showAllContact{    for (Contact *c in _allDataMutableArray) {        [c show];    }}@end

main.m

#import <Foundation/Foundation.h>#import "Contact.h"#import "AddressBook.h"int main(int argc, const char * argv[]) {    @autoreleasepool {        // 1.创建通讯录        AddressBook *addressBook = [[AddressBook alloc]init];        // 2.创建联系人、并添加        Contact *c1 = [Contact contactWithName:@"aa" phoneNumber:@"1469274283397" group:@"stu"];        [addressBook addContact:c1];        Contact *c2 = [Contact contactWithName:@"baoge" phoneNumber:@"18310074283397" group:@"stu"];        [addressBook addContact:c2];        // 显示所有联系人信息        [addressBook showAllContact];        // 查找联系人        Contact *find = [addressBook findContactWithName:@"aa"];        [find show];        // 删除联系人        NSLog(@"删除之后");        [addressBook deletContactWithName:@"aa"];        [addressBook showAllContact];    }    return 0;}
0 0
原创粉丝点击