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

时间:2016-01-07 11:26:13

标签: 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
}

enter image description here

5 个答案:

答案 0 :(得分:6)

对于仍在寻找答案的开发人员。
Swift内导入Objective-c文件可能会导致此错误,如果它没有正确导入。

让我们先看一下错误。

enter image description here

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

enter image description here

解决方案:

您可以在桥接标题的帮助下导入它 在 Objective-C项目创建/复制Swift文件时。它会自动创建一个桥接头。

Objective-C Generated Interface Header Name处查看Targets -> Build Settings enter image description here

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

enter image description here

答案 1 :(得分:3)

由于您在.swift中导入了Objective-C ViewController类,因此显示此错误。这是错误的,您应该导入Swift标头,而不是:

#import "ProductModuleName-Swift.h"

答案 2 :(得分:0)

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

#import "MyClass.swift"

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

@class MyClass.swift;

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

答案 3 :(得分:0)

在我的情况下,这是因为即使我使用的是 objective-c source 而不是 Default-Swift Source strong> .swift 文件。

将其更改为默认-Swift Source 为我解决了该问题。

enter image description here

答案 4 :(得分:0)

我做了什么:选择文件并检查您的“目标成员身份”

enter image description here