当项目在 Swift 中时,无法从 Objective-C 访问 swift class

Can't access swift class from Objective-C while the project is in Swift

我有一个 swift 项目,我最初的 UIViewController 是 swift class.

从最初的ViewController开始,我在storyboard中添加了一个新的Viewcontroller并设置了一个objective-cclass (FirstViewController.h) 为它。

在我的项目中,我有另一个 swift class (DataManager.Swift),它是 class 的子class =23=]。

现在我想在我的 objective-C class (FirstViewController.m) 中创建此 DataManager.swift 的一个实例。但不幸的是,我无法创建这个实例,给我一个错误 - Receiver 'DataManager' for class message is a forward declaration

我现在可以做什么来解决这个问题?是否可以在项目处于 swift 时从 Objectibe-C class 访问 swift class?

我的FirstViewController.m,

#import "FirstViewController.h"
@class DataManager;

@interface FirstViewController ()

@property (nonatomic, strong) DataManager *dataManager;

@end

@implementation FirstViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
   _dataManager = [[DataManager alloc] init]; //This line giving me that error
}
@end

我的DataManager.swiftclass,

import UIKit;

@objc class DataManager: NSObject {
    var a: Int = 0
}

我的 BridgingHeaderFile,

#ifndef BridgingHeader_h
#define BridgingHeader_h
#import "FirstViewController.h"
#endif

您应该使用以下语法将 swift 模块导入到您的 .m 文件中:
#import "ModuleName-Swift.h" 其中 ModuleName 通常是您的项目名称。
注意:添加 -Swift 后缀很重要!

此外 @class DataManager; 导入后会多余。