OC大作业_通讯录的实现

这篇博客介绍了如何使用Objective-C(OC)语言实现一个简易通讯录应用,包括增删改查操作。通过便利构造器创建Person类实例,如Lucy、Joe、Baby和Linda,并使用AddressBook类进行管理。内容涵盖了添加联系人、按电话和性别查找、修改联系人信息、删除联系人及分组等操作,并提供了相关源代码文件。
摘要由CSDN通过智能技术生成

OC上机考试试题 ————通讯录
要求描述:⽤OC语言完成简易通讯录(实现增删改查)功 能.
(注:使⽤用MRC)
一、功能描述:
main函数中通过使用Person类和AddressBook类,创建对象、调⽤方法,实现以下要求 :
1).使⽤便利构造器创建四个Person类的实例(联系人).
姓名:Lucy 性别:⼥ 电话:123 年龄:21 姓名:Joe 性别:男 电话:456 年龄:17 姓名:Baby 性别:女 电话:789 年龄:27 姓名:Linda 性别:⼥ 电话:000 年龄:21
2).创建⼀一个AddressBook类的实例对象(通讯录). 3).使用AddressBook类中定义的⽅法实现:添加联系人,将四个联系人添加到通讯录
4).使⽤AddressBook类中定义的方法实现:根据电话查找联系人,并打印(查找电话456)
5).使用AddressBook类中定义的方法实现:根据性别查找联系人,并将查到的联系⼈按照年龄升序排序,并打印(查找性别:女)
6).使⽤AddressBook类中定义的方法实现:根据姓名,更改联系人信息.(修改Linda的 信息: 性别:女 电话:012 年龄:25);
7).使用AddressBook类中定义的⽅法实现:按照姓名删除联系人,并展示通信录中所 有人信息.(删除联系人:Baby)
8).使用AddressBook类中定义的方法实现:删除一个分组,并展示通信录中所有人信息.(删除L组) 所有联系人信息。
9).使用AddressBook类中定义的方法实现:实现3~8之间每个功能后,输出通讯录中所有联系人

以下代码是个人编写,不是按照题目中使用的联系人;
代码:
Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject
@property (nonatomic,retain)NSString *name; //姓名
@property (nonatomic,assign)NSInteger age;  //年龄
@property (nonatomic,retain)NSString *gender;  //性别
@property (nonatomic,retain)NSString *phoneNumber;  // 电话号码
@property (nonatomic,retain)NSString *groupName;    // 分组名
-(void)description;
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age
                      gender:(NSString *)gender
                  phoneNuber:(NSString *)phoneNumber;
+ (instancetype)personWithName:(NSString *)name
                         age:(NSInteger)age
                      gender:(NSString *)gender
                  phoneNuber:(NSString *)phoneNumber;

Person.m

#import "Person.h"

@implementation Person
//  防止内存泄漏
-(void)dealloc
{

    [_name release];
    [_gender release];
    [_phoneNumber release];
    [_groupName release];
    [super dealloc];
}
//  复写的话应该和父类的方名,应该和父类一样,但是这次我直接在这个方法打印结果,所以必须使用该方法,不是直接系统调用
-(void)description
{
    NSLog(@"姓名:%@ 性别:%@ 年龄:%ld 电话:%@ 分组名:%@",self.name,self.gender,self.age,self.phoneNumber,self.groupName);
}
//这里没有初始化groupName是因为
- (instancetype)initWithName:(NSString *)name
                         age:(NSInteger)age
                      gender:(NSString *)gender
                  phoneNuber:(NSString *)phoneNumber
{
    self = [super init];
    if (self) {
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值