typedef enum

2012. 1. 17. 15:28iOS

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

C 개발자라면 많이 쓰시는 열거형이다

이녀석을 활용해서 상수로 사용할수 있습니다. 또한 typedof ( 형재정의 ) 를 사용하고 있어서 int 자료형으로 사용됩니다

예를 들면 페이지 네임을 가지고 상수로 저장하고자 한다면 일반적이라면
아래와 같이 사용하겠지만 



#pragma mark ------ 페이지별 상수
#define _PageName_RecipeToday                @"PageName_RecipeToday"
#define _PageName_RecipeMain                 @"PageName_RecipeMain"
#define _PageName_RecipeDetail               @"PageName_RecipeDetail"

Object-C는 switch 에 String을 사용할수없다 그렇다면 지금 제가 사용하고 있는 방식을 보여드리겠습니다
//모든페이지 
typedef enum 
{
    _PageName_Main, //메인페이지
    
    _PageName_CookingGuide, //쿠킹가이드
    _PageName_Notice, // 공지사항 
    _PageName_KnowHow, // 노하우
    _PageName_FoodStyle, // 푸드스타일 
    _PageName_RelatedRecipe,  // 관련 레시피
    _PageName_RecipeShare, // 레시피 공유
    
} PageNames;

switch 에서는 아래와 같이 깔끔하게 쓸수 있습니다

#pragma mark 페이지 전환
  -(void) changePage : ( PageNames ) pageName
{    
    switch ( pageName ) 
    {
        case _PageName_CookingGuide: //쿠킹가이드 
            break;   
    
        case _PageName_Notice: // 공지사항
            break;
            
        case _PageName_KnowHow: // 노하우 
            break;
        default:
            break;
    }

}