iOS中的"未知类型名称导入"错误

B.S*_*mar 7 ios

我曾尝试将swift ViewController文件包含在Objective-C项目中,但我无法做到,它显示错误,如未知类型名称导入如何解决此问题请任何一个帮助解决此问题.

在这里,我发送我的代码和ScreenShot.

import UIKit
@objc class SigViewController2: UIViewController {

@IBOutlet weak var cameraBtn: UIButton!

@IBOutlet weak var imageBtn: UIButton!

@IBOutlet weak var settingsBtn: UIButton!

@IBOutlet weak var mediaBtn: UIButton!


override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view, typically from a nib.
}
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(true)
    navigationController?.navigationBarHidden = false

    self.navigationItem.title = "Main";
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {

    // Only allow Portrait
    return UIInterfaceOrientationMask.Portrait
}

override func preferredInterfaceOrientationForPresentation() -> UIInterfaceOrientation {

    // Only allow Portrait
    return UIInterfaceOrientation.Portrait
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Kir*_*nee 6

对于仍在寻找答案的开发人员.
如果导入Swift文件Objective-c无法正确导入,则导入此错误可能会导致此错误.


我们先来看看错误.

在此输入图像描述

让我们尝试上面的 KJTreeObjC.Swift 文件 Objective-C ViewController.

在此输入图像描述


解:

你需要在桥接头的帮助下导入它.
当你创建/复制斯威夫特文件的Objective-C项目.它会自动创建一个桥接头.

检查Objective-C Generated Interface Header NameTargets -> Build Settings.
在此输入图像描述

那是我们Import现在的标题名称.
你可以事后检查,错误会立即消失.

在此输入图像描述


小智 0

我的项目中也遇到了同样的问题。我在 Objective-C 代码中使用了 swift 代码。在项目的任何类中,您必须以 Objective-C 风格导入 swift 文件,如下所示:

#import "MyClass.swift"
Run Code Online (Sandbox Code Playgroud)

请删除它并在 .h 文件中使用前向声明,如下所示:

@class MyClass.swift;
Run Code Online (Sandbox Code Playgroud)

它将消除所有错误并完美运行。