Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c can';从swift控制器代码访问目标C类_Objective C_Swift_Xcode - Fatal编程技术网

Objective c can';从swift控制器代码访问目标C类

Objective c can';从swift控制器代码访问目标C类,objective-c,swift,xcode,Objective C,Swift,Xcode,我得到了一个未定义的符号:OBJC_CLASS$\u在尝试构建时在链接时引入 我可以使用Xcode的intellisense访问Xcode中swift文件中的类Intro,但它在构建时似乎无法识别它。能不能请有更多swift和Xcode经验的人帮我一把 class OldLoginViewController: BaseViewController { override func viewDidLoad() { super.viewDidLoad()

我得到了一个未定义的符号:OBJC_CLASS$\u在尝试构建时在链接时引入

我可以使用Xcode的intellisense访问Xcode中swift文件中的类Intro,但它在构建时似乎无法识别它。能不能请有更多swift和Xcode经验的人帮我一把

class OldLoginViewController: BaseViewController {

    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        
        NotificationCenter.default.addObserver(self, selector: #selector(OldLoginViewController.goIntro), name: NSNotification.Name("ROOTGOINTRO"), object: nil)
     
        ClsUtil.skip(toViewController: self.navigationController!, viewControllerName: "Intro", isViewDidLoad: true)
    }
    
    
    var style : UIStatusBarStyle = UIStatusBarStyle.default;
    

    @objc
    override func viewDidAppear(_ animated: Bool) {
        let intro = Intro()
        self.navigationController?.pushViewController(intro, animated:false)

    }
    
Obj C代码:

#import "BaseViewController.h"

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface Intro : BaseViewController

@end

NS_ASSUME_NONNULL_END
构建fine并访问ClsUtil fine,而不使用涉及intro的代码,因此我假设桥接头在项目设置中设置正确


ps-请原谅我的无知。iOS的第四天。以前的开发人员离开了,我们没有一个开发人员来处理与iOS相关的问题或完成之前的应用程序的移植。我想改用swift而不是obj c,因为它看起来更干净/可以使用最新的工具。

解决了这个问题。这是因为当我从OSX finder复制文件夹时,这些文件并没有添加到项目设置的构建阶段选项卡的“编译源代码”部分

我仍然有点困惑,从另一个项目导入文件夹的正确方法是什么。我假设我需要使用某种Xcode命令而不是OSX finder

#ifndef ObjectiveCBridgingHeader_h
#define ObjectiveCBridgingHeader_h

#import "Base/Util/ClsUtil.h"
#import "Base/ViewController/BaseViewController.h"
#import "Intro/Intro.h"

#endif /* ObjectiveCBridgingHeader_h */