0
EnumsHeader.h
파일에 Objective-C 열거 형을 만들고이를 <Module>-Bridging-Header.h
#import "EnumsHeader.h"
으로 가져 왔습니다. Swift 클래스 (ClassA.Swift
)에서이 열거 형의 속성을 만들 수 있습니다. 내가 ClassB.m
(목표 - C) 클래스에서이 속성을 참조 할 때, 나는 컴파일 오류를보고 있어요 : 여기 '를 ClassA *'Swift 클래스의 NS_ENUM 속성으로
내가 실종 어떤 유형의 객체를 찾을 수 없습니다 재산권 'optionsFromA'?
EnumsHeader.h
#ifndef EnumsHeader_h
#define EnumsHeader_h
#import <Foundation/Foundation.h>
typedef NS_ENUM(NSInteger, EnumOption) {
EnumOptionA,
EnumOptionB,
EnumOptionC
};
#endif
ClassA.swift
public class ClassA: NSObject {
public var optionsFromA: EnumOption!
}
ClassB.m
#import <Foundation/Foundation.h>
#import "TestEnumsInterop-Swift.h"
@class ClassB;
@interface ClassB:NSObject
@end
@implementation ClassB
- (instancetype)init {
if (self = [super init]) {
ClassA *a = [ClassA new];
a.optionsFromA = EnumOptionA; //<--- Property 'optionsFromA' not found on object of type 'ClassA *'
}
return self;
}
@end