我试图从目标c文件调用swift函数。
Swift函数实现:
@objc class FXFormVariables : NSObject {
class func FXFontName() -> String { return fontName }
class func FXFontSize() -> CGFloat { return fontSizeLarge }
class func FXHiddenCell() -> NSArray { return hiddenElementFromFormIndex as NSArray }
}
目标C:
NSArray *hideArray = [FXFormVariables FXHiddenCell];
if ([hideArray containsObject:@(cellIndexPath)]){
return 0.0;
}
构建时间中的链接器错误:
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$__TtCC13Social_Engine11AppDelegate15FXFormVariables", referenced from:
objc-class-ref in FXForms.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
此代码在Xcode 7.3中运行良好,但在升级到8.3后,它开始抛出链接器错误。
请帮忙。提前谢谢。
答案 0 :(得分:0)
在Objective-C文件中导入-Swift.h附加的名为Project name的文件
请查看下面的导入文件示例
Texture2D texture;
texture = new Texture2D(2, 2);
texture.LoadImage(imageBytes);
当您使用.swift文件构建项目时,Xcode将生成此文件。
另外,您可以从以下问题中查看: How to import Swift code to Objective-C
答案 1 :(得分:0)
您可以获得此类错误检查,您的类列在目标“构建阶段”选项卡的“编译源”步骤下。通常Xcode会为您执行此操作,但有时会丢失绘图,您需要手动添加类文件。
要做到这一点:
TargetSettings - >构建阶段 - >编译源 - >添加你的类-.swift>构建并运行