OC项目-论坛
2013-06-10 12:20
176 查看
#ifndef _______Header_h #define _______Header_h enum _sex{ girl, boy }; typedef enum _sex Sex; typedef enum _level{ littleBird, flyBird, oldBird }Level; typedef struct _date{ int year; int month; int day; }Date; #endif ``` ``` // // User.h // 天天灌水论坛 // // Created by 邱学伟 on 15/7/28. // Copyright (c) 2015年 jerehedu. All rights reserved. // #import <Foundation/Foundation.h> #import "Header.h" @interface User : NSObject { NSString * _name; NSString *_psw; Sex _sex; //unsigned long age; NSInteger _age; //typedef unsigned long NSUInteger Date _signDate; Level _level; } //构造器方法 -(void)setName:(NSString*)name; -(NSString *)name; -(void)setPsw:(NSString*)psw; -(NSString *)psw; -(void)setSex:(Sex)sex; -(Sex)sex; -(void)setAge:(NSInteger)age; -(NSInteger)age; -(void)setSignDate:(Date)date; -(Date)date; -(void)setLevel:(Level)level; -(Level)level; //实例方法初始化传值 -(void)setWithName:(NSString *)name andPsw:(NSString *)psw andSex:(Sex)sex andAge:(NSInteger)age andSignDate:(Date)date andLevel:(Level)level; //类方法初始化传值 +(id)setWithName:(NSString *)name andPsw:(NSString *)psw andSex:(Sex)sex andAge:(NSInteger)age andSignDate:(Date)date andLevel:(Level)level; //个人信息展示 -(void)showUserInfo; //将等级的枚举值转化为字符串 -(NSString *)getLevelString:(Level)level; @end ``` ``` // // User.m // 天天灌水论坛 // // Created by 邱学伟 on 15/7/28. // Copyright (c) 2015年 jerehedu. All rights reserved. // #import "User.h" @implementation User -(void)setName:(NSString*)name{ _name=name; } -(NSString *)name{ return _name; } -(void)setPsw:(NSString*)psw{ _psw=psw; } -(NSString *)psw{ return _psw; } -(void)setSex:(Sex)sex{ _sex=sex; } -(Sex)sex{ return _sex; } -(void)setAge:(NSInteger)age{ _age=age; } -(NSInteger)age{ return _age; } -(void)setSignDate:(Date)date{ _signDate=date; } -(Date)date{ return _signDate; } -(void)setLevel:(Level)level{ _level=level; } -(Level)level{ return _level; } -(void)setWithName:(NSString *)name andPsw:(NSString *)psw andSex:(Sex)sex andAge:(NSInteger)age andSignDate:(Date)date andLevel:(Level)level{ _name=name; _psw=psw; _sex=sex; _age=age; _signDate=date; _level=level; } +(instancetype)setWithName:(NSString *)name andPsw:(NSString *)psw andSex:(Sex)sex andAge:(NSInteger)age andSignDate:(Date)date andLevel:(Level)level{ User *user0 = [User new]; [user0 setWithName:name andPsw:psw andSex:sex andAge:age andSignDate:date andLevel:level]; return user0; } #pragma mark 个人信息展示 -(void)showUserInfo{ NSLog(@"大家好!我是 %@ ,今年 %li 岁,我是在%i年%i月%i号 注册的,等级为 %@",_name,_age,_signDate.year,_signDate.month,_signDate.day,[self getLevelString:_level]); } -(NSString *)getLevelString:(Level)level{ NSString *str; switch (level) { case littleBird: str=@"菜鸟"; break; case flyBird: str = @"飞鸟"; break; case oldBird: str = @"老鸟"; break; default: break; } return str; } @end ``` ``` // // main.m // 天天灌水论坛 // // Created by 邱学伟 on 15/7/28. // Copyright (c) 2015年 jerehedu. All rights reserved. // #import <Foundation/Foundation.h> #import "User.h" int main(int argc, const char * argv[]) { @autoreleasepool { Date date1={2015,7,28}; User *user1 = [User new]; [user1 setWithName:@"lovke" andPsw:@"0987654" andSex:boy andAge:23 andSignDate:date1 andLevel:littleBird]; [user1 showUserInfo]; User *user2 = [User setWithName:@"lovke2" andPsw:@"1223421" andSex:girl andAge:24 andSignDate:date1 andLevel:oldBird]; [user2 showUserInfo]; } return 0; } ``` 总结: 练习下构造器函数,枚举变量和结构体变量单独放在一个自定义的头文件中,便于定义和使用
相关文章推荐
- 底牌项目中设置论坛中各个模块头图的代码
- swift项目中,OC和swift文件相互调用
- 论坛数据库的几种建表----年度项目拙计有感(前半部分转)
- Tao-ReviewBoard(reviewboard的eclipse插件)开源了 - 配置管理,项目管理 - Tech - ITeye论坛
- 安卓项目高校IT论坛记录
- 使用OC和Swift两种语言写一个发射烟花的小项目
- BBS项目笔记之五:BBS论坛首页的实现
- 怎样从一名程序员过度到项目经理(整理自csdn论坛)
- 【项目开发】DISCUZ论坛添加页头及页尾背景图片的几种方法
- Android开源项目整理:个性化空间View篇(看遍论坛千万篇,不看此篇也枉然)
- 《项目管理论坛—IT项目管理与职业生涯规划》苏州站
- 论坛项目感想
- hadoop论坛实战项目
- OA项目之论坛模块管理
- Objective-C 【完整OC项目-购票系统-系统分析-代码实现】
- Django项目-bbs论坛(1)
- 论坛项目(二)
- 两岸三地培训产业发展论坛培训课程及培训项目发布会
- 项目经验之:针对昨日FDO连接SDF文件报错,国个GIS论坛给出了一个思路.帮助我过关.
- 做项目论坛