티스토리 뷰

찾아봐도 objc는 c++ c# java 처럼 enum에서 nsstring 으로 자료형캐스팅은 안되는것 같다
시간이 없기에 이와 같은 방식으로 처리함.

선언부

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSInteger, LoginType)
{
    GOOGLE,
    FACEBOOK,
    APPLE,
    GUEST,
};

NS_ASSUME_NONNULL_BEGIN

@interface EnumType : NSObject

+ (NSString*) convertToString:(LoginType)type;

@end

NS_ASSUME_NONNULL_END

구현부

#import "EnumType.h"

@implementation EnumType

+ (NSString*) convertToString:(LoginType) type
{
    NSString *result = nil;

    switch(type)
    {
        case GOOGLE:
            result = @"GOOGLE";
            break;
        case FACEBOOK:
            result = @"FACEBOOK";
            break;
        case APPLE:
            result = @"APPLE";
            break;
        case GUEST:
            result = @"GUEST";
            break;
        default:
            result = @"unknown";
    }
    return result;
}

@end

출처
https://stackoverflow.com/questions/6331762/enum-values-to-nsstring-ios

댓글