【发布时间】:2019-03-21 07:23:57
【问题描述】:
我有一个 swift 项目,我最初的 UIViewController 是一个 swift 类。
从最初的ViewController 开始,我在我的storyboard 中添加了一个新的Viewcontroller 并为其设置了一个objective-c 类(FirstViewController.h)。
在我的项目中,我有另一个 swift 类 (DataManager.Swift),它是NSObject 的子类。
现在我想在我的 objective-C 类 (FirstViewController.m) 中创建这个DataManager.swift 的实例。但不幸的是,我无法创建这个实例,给了我一个错误,比如 -
Receiver 'DataManager' for class message is a forward declaration
我现在可以做些什么来解决这个问题?项目在 swift 中时是否可以从 Objectibe-C 类中访问 swift 类?
我的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.swift 类,
import UIKit;
@objc class DataManager: NSObject {
var a: Int = 0
}
我的BridgingHeaderFile,
#ifndef BridgingHeader_h
#define BridgingHeader_h
#import "FirstViewController.h"
#endif
【问题讨论】:
标签: ios objective-c swift bridging-header objc-bridging-header