Я пытаюсь использовать объективный метод c с перечислением в качестве аргумента в swift. Значение для аргумента устанавливается на основе переменной перечисления swift.
Перечисление Swift
enum SecurityType: Int {
case pushNotification = 0
case touchId = 1
case faceId = 2
}
Myenum в файле target c выглядит следующим образом:
typedef NS_ENUM(NSUInteger, ScreenType) {
TouchID = 1,
FaceID = 2,
ConsentApproval = 3,
VerifyMyIdentity = 4 };
Мой быстрый код -
let screenType: ScreenType = self.biometricType == .touchId ? .touchID : .faceID
guard let newVC = MyViewController.init(screenType: screenType) else { return }
В указанном выше методе biometricType переменная имеет быстрый тип перечисления.
Вот мой метод инициализации
- (instancetype) initWithScreenType: (screenType *) type {
self = [super init];
if (self) {
UIStoryboard *passcodeStoryBoard = [UIStoryboard storyboardWithName:passcode bundle:nil];
self = [passcodeStoryBoard instantiateViewControllerWithIdentifier:@"AuthenticationViewController"];
self.screenType = type;
return self;
}
return nil;}
Я получаю сообщение об ошибке в методе init
Невозможно преобразовать значение типа 'EnumType' в ожидаемый тип аргумента 'UnsafeMutablePointer!'
CanУ кого-то есть идеи, что может быть причиной этого.