enum,typedef说明及应用
enum
1、创建新工程`
2、新建myHome文件
3、myHome.h
// Copyright (c) 2013年 Ericxx. All rights reserved.
//
#import <Foundation/Foundation.h>
//用enum列举出一家人的年龄
enum myhomePeople{
myPapaAge = 48,
myMamaAge = 46,
myGirlFd = 24,
myDogAge = 1,
myAge = 24,//我的地位也只能在最后 :x
};
@interface myHome : NSObject
//增加一个方法,根据传入的参数,输出某个家庭成员的年龄
//这里设定的参数只接受我自定义的enum类型参数
-(void)TellmeSomeBodyAge:(enum myhomePeople)x;
@end
4、myHome. m
5、main.m
// Copyright (c) 2013年 Ericxx. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "myHome.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
myHome *my = [[myHome alloc] init];
[my TellmeSomeBodyAge:myAge];
}
return 0;
}
6、运行
-------------------------------------------------------------
typedef
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。
typedef是C语言语句,其功能是用户为已有数据类型取“别名”。
在myHome.h 和 myHome.m中,
-(void)TellmeSomeBodyAge:(enum myhomePeople)x;
参数为enum myhomePeople,也就是说,在使用自定义的myhomePeople时候,都必须要加上前缀enum.
但通过typedf可以将 myHome.h 中的enum改为
typedef enum {
myPapaAge = 48,
myMamaAge = 46,
myGirlFd = 24,
myDogAge = 1,
myAge = 24,
} myhomePeople;
于是方法参数就可以改为我们看起来顺眼的了
-(void)TellmeSomeBodyAge:(myhomePeople)x;
源码:http://pan.baidu.com/share/link?shareid=183123&uk=1009501793