以下是我想在Swift中调用的代码:
+ (Client*) clientWithInfo:(ServerInfo*)info {
return [[[Client alloc] initWithInfo:info] autorelease];
}
以下是我在Swift中调用它的方法:
Client.clientWithInfo(ServerInfo)
但它给了我以下错误:
clientWithInfo unavailable:使用对象构建Client(info :)
答案 0 :(得分:0)
首先,您需要有桥接标题,并且在此文件中包含您的类的名称。
#import "MySingletonClass.h"
之后你应该可以调用MySingleton.sharedInstance.methodName
答案 1 :(得分:0)
首先阅读Apple的指南Using Swift with Objective-C (Swift 2.1)。有一个关于将Objective-C导入Swift的部分。
您需要创建一个Objective-C桥接头文件。当您将Swift文件添加到Objective-C项目或将Objective-C文件添加到Swift项目时,Xcode会询问您是否要添加Objective-C桥接头?
要将您的Objective-C代码与Swift代码一起使用,您可以导入要向swift公开的每个Objective-C头。请注意,这是针对同一目标的。
#import "MyCustomObjectiveCCodeWithSingleton.h"
此桥接头文件中列出的任何公共Objective-C标头 将在Swift中看到。 Objective-C功能将是 在没有的情况下自动在该目标内的任何Swift文件中提供 任何进口报表。使用相同的自定义Objective-C代码 您使用系统类的Swift语法。