Swift와 Objective-C에서 enum의 상호 활용

2375 단어 Swift

Swift에서 Objective-C의 enum 사용


enum 이 아닌 NS 입니다.ENUM() 또는 NSOPTIONS()에 의해 정의됩니다.
ColorType.h
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSUInteger, ColorType) {
    ColorTypeRed,
    ColorTypeGreen,
    ColorTypeBlue,
    ColorTypeAlpha,
};
Swift에서 사용하기 위해 Bridging Header를 사용하여 헤더 파일에 대한 import을 실행합니다.
Bridging-Header.h
#import "ColorType.h"
Build Settings의 Bridging Header 지정을 잊지 마십시오.

Swift의 enum과 같이 사용합니다.
AnyClass.swift
class AnyClass {
    func test(type: ColorType) {
        switch type {
        case .Red:
            NSLog("Red");
        default:
            NSLog("Others");
        }
    }
}

Objective-C에서는 Swift의 enum을 사용할 수 없습니다.

  • 참조 > Using Swift from Objective-C
  • 좋은 웹페이지 즐겨찾기