首页 > 解决方案 > 如何使用Objective c ++修复Swift项目中未声明的标识符'AppDelegate'的使用

问题描述

我有一个快速而客观的 C++ 项目。如果我在 Objective c++(.mm) 文件中使用 Appdelegate,我会收到如下错误:

/Projects/Controllers/BalanceCheck/BalanceCheckVC.mm:17:19: error: expected expression
    (AppDelegate *)[[UIApplication sharedApplication] delegate]
                    ^

在头文件 OpenCVWrapper.h 中:

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface OpenCVWrapper : NSObject
+ (NSString *)openCVVersionString;
@end

NS_ASSUME_NONNULL_END

在 OpenCVWrapper.mm 文件中

#import "OpenCVWrapper.h"
#import <opencv2/opencv.hpp>

@implementation OpenCVWrapper

+ (NSString *)openCVVersionString {

    //ERROR
    AppDelegate* testAppdel = (AppDelegate *)[[UIApplication sharedApplication] delegate];

    return [NSString stringWithFormat:@"OpenCV Version %s",  CV_VERSION];
}

@end

我已经做了什么:已经包含桥接头

标签: objective-cswiftobjective-c++

解决方案


推荐阅读