【问题标题】:Cannot find interface declaration in myproject-swift.h在 myproject-swift.h 中找不到接口声明
【发布时间】:2019-02-23 07:08:03
【问题描述】:

我' m 在我的项目中使用XLPagerTabStrip pod,

我有一个桥接头用于其他目的,以便从 swift 集成到目标 c myproject-swift.h

我无法构建项目并且总是弹出这个错误:

找不到接口声明 'ButtonBarPagerTabStripViewController',超类 '父视图控制器'

这是我的控制器

import Foundation
import UIKit
import XLPagerTabStrip

class ParentViewController: ButtonBarPagerTabStripViewController {

    override func viewDidLoad() {
        tabStripStyle()
        super.viewDidLoad()
        containerView.isScrollEnabled = false
    }
   } 

我看到这个问题到处张贴,但这里还没有回答:'Cannot find interface declaration' in auto-generated Swift bridging header

swift中的错误SR-805SR-5398

【问题讨论】:

  • myproject-swift.h 是否是显示在您的项目中并包含 Swift 使用的 Objective-C 声明的桥接头?还是 Xcode 生成的接口标头(未作为项目的一部分列出)包含供 Objective-C 使用的声明,因此它可以使用您的 Swift 代码?如果是后者,则不应将其称为桥接头。只是想了解您对术语的使用。
  • 它是一个自动生成的接口,其中包含供 Swift @AnatoliP 使用的 Objective-C 声明
  • ButtonBarPagerTabStripViewController 在哪里声明,如何声明?
  • @Cristik 它来自一个豆荚
  • 那么ParentViewController 怎么样?在 Swift 中是如何声明的?请将所有相关信息添加到问题中,这将使人们更容易理解问题。

标签: objective-c swift xcode header xlpagertabstrip


【解决方案1】:

您需要为框架和应用目标导入 -Swift.h

例如:

    #import <UIKit/UIKit.h>
    #import <AVFoundation/AVFoundation.h>
    #import <Foundation/Foundation.h>
    #import "XLPagerTabStrip-Swift.h"
    #import "RealmSwift-Swift.h"
    ...... // Add all frameworks, subclasses, and dependance ios frameworks
    #import  "MyProject-Swift.h"

你可以阅读这篇article如何导入文件头和检查路径

【讨论】:

    【解决方案2】:

    我有错误“找不到 'CLLocation' 的接口声明,'MYLocation' 的超类 下面的代码

    @interface MYLocation : CLLocation // code in MyProject-Swift.h
    

    刚导入的时候

    #import <MyProject/MyProject-Swift.h>
    

    在两者下导入后,错误消失了。

    #import <CoreLocation/CoreLocation.h>
    #import <MyProject/MyProject-Swift.h>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-25
      • 2015-05-30
      • 2011-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-15
      • 1970-01-01
      相关资源
      最近更新 更多