Я пытаюсь перенести класс UIViewController
Objective-C на Swift. Этот контроллер представления наследуется от BaseViewController
, где у меня есть общие функции, которые я хочу иметь во всех контроллерах. У меня проблема в том, что сгенерированный myproject-Swift.h
не может найти мой BaseViewController
.
Есть ли способ реализовать UIViewController
в Swift, который наследуется от BaseViewController
(подкласс UIViewController
), написанного на Objective-C? Есть ли проблема с мостом?
Его можно воспроизвести с помощью этого минимального кода:
BaseViewController.h
#import <UIKit/UIKit.h>
@interface BaseViewController : UIViewController
@end
BaseViewController.m
import "BaseViewController.h"
@implementation BaseViewController
@end
ViewController.swift
import UIKit
class ViewController : BaseViewController {
}
AppDelegate.m
#import "AppDelegate.h"
#import "projectname-Swift.h" // Replace with your project name
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
ViewController *vc = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = vc;
[self.window makeKeyAndVisible];
return YES;
}
имя_проекта-Bridge-Header.h
#import "BaseViewController.h"