相关疑难解决方法(0)

从Objective C类调用Swift函数

我有个问题.我有一个旧的Objective C项目,我想调用新的Swift函数和对象,我创建了文件"-Bridging-Header.h"和"-Swift.h"

我很容易将函数从Swift调用到Objective C,但我有一个反向问题.

所以我创建了一个简单的类"System.Swift"

import Foundation

@objc class System : NSObject {

@objc func printSome() {
    println("Print line System");
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我已经尝试按照这里的文档和<...> - Swift.h文件内部写了这个

@class System;

@interface System : NSObject

-(void)printSome;

@end
Run Code Online (Sandbox Code Playgroud)

我已经在Objective C Class中导入了它.此时,在我的Objective C Code的Objective C类(当前为UIViewController)中,我尝试调用"printSome"方法:

- (void)viewDidLoad
{
    [super viewDidLoad];
    System * sis = [[System alloc] init];
    [sis printSome];
    //any additional setup after loading the view from its nib.
}
Run Code Online (Sandbox Code Playgroud)

现在我有以下错误:

架构i386的未定义符号:"_ OBJC_CLASS _ $ _ System",引用自:"ObjectiveC_Class_That_Call_Swift_Object"中的objc-class-ref .o ld:未找到架构i386 clang的符号:错误:链接器命令失败,退出代码为1(使用-v看到调用)

有人能帮帮我吗?

关心所有.

objective-c swift

73
推荐指数
5
解决办法
8万
查看次数

标签 统计

objective-c ×1

swift ×1