Swift 中的匿名类是否有等效的语法或技术? 只是为了澄清这里的 Java 示例中的匿名类 - http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html
谢谢!
最佳答案
据我所知,没有等效的语法。
关于等效技术,理论上您可以使用闭包并在其中定义结构和类。可悲的是,我无法让它在 Playground 或项目中工作而不让它崩溃。这很可能还没有准备好在当前的测试版中使用。
有点像...
protocol SomeProtocol {
func hello()
}
let closure : () -> () = {
class NotSoAnonymousClass : SomeProtocol {
func hello() {
println("Hello")
}
}
let object = NotSoAnonymousClass()
object.hello()
}
...当前输出此错误:
invalid linkage type for global declaration
%swift.full_heapmetadata* @_TMdCFIv4Test7closureFT_T_iU_FT_T_L_19NotSoAnonymousClass
LLVM ERROR: Broken module found, compilation aborted!
Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 1
关于swift - swift 中的匿名类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24408068/