我有一个Objective-C应用程序,我喜欢整合Swift,但我有一个奇怪的问题。将Swift集成到Objective-C应用程序
我导入<#ProjectName#>-Swift.h
到我的实现文件,我需要Swift类。我的Swift类看起来像这样:
import Foundation
@objc class FileIconColor: NSObject {
@objc func fileIconColorForSuffix(suffix: NSString) -> UIColor {
var color:UIColor!
//Some huge calculations
return color
}
//Just for testing
@objc func test() {
println("Test")
}
}
我可以调用Class,但我无法访问类中的函数;正如你所看到的那样,@objc
前缀在类中及其函数上。
你知道为什么会发生这种情况吗?我还想在使用该函数之前构建该项目,因为Swift桥头首先需要构建,我正确吗?
哦,顺便说一句,我设法访问我的Swift类中的Objective-C代码。所以不能有太多的错误(我手动创建Objective-C的桥接报):)
谢谢,大卫
建议在这里:http://stackoverflow.com/questions/24206732/cant-use-swift-classes-inside-objective-c?rq=1 – Caroline 2014-09-20 22:57:22
@Caroline我没有创建'<#ProjectName#> -Swift.h'自己。我知道它是由Xcode创建的。我导入了'<#ProjectName#> - Swift.h'文件,并用我的项目名称替换了<#ProjectName#>'。我真的不知道我做错了什么。你有其他建议吗? – 2014-09-20 23:07:30
您是如何创建类的实例并从ObjC调用函数的?什么不工作。你不能编译?你跑步时什么都没有发生? – vacawama 2014-09-21 01:39:25