我可以在Swift中声明函数并在以后定义它们的实现吗?
来自Objective-C,我非常喜欢公开一段代码接口的头文件。Swift总是让我有点烦恼,因为即使是最有组织的代码也倾向于将公共/私有API隐藏在其他代码中,这让您挖掘细节我可以在Swift中声明函数并在以后定义它们的实现吗?,swift,interface,coding-style,Swift,Interface,Coding Style,来自Objective-C,我非常喜欢公开一段代码接口的头文件。Swift总是让我有点烦恼,因为即使是最有组织的代码也倾向于将公共/私有API隐藏在其他代码中,这让您挖掘细节 是否有任何实践或技巧可以在实现外部定义类或模块的公共接口?现在我只是在Swift文件的顶部发表评论,感觉很神秘 据我所知,您不能只在类中声明一个方法,然后在Swift的其他地方实现它 我觉得你们希望这样做是为了清晰明了,并将你们的方法组织到课堂上。为了在Swift中实现这一点,我采用了一些技巧,我很乐意与大家分享: 根据访
是否有任何实践或技巧可以在实现外部定义类或模块的公共接口?现在我只是在Swift文件的顶部发表评论,感觉很神秘 据我所知,您不能只在类中声明一个方法,然后在Swift的其他地方实现它 我觉得你们希望这样做是为了清晰明了,并将你们的方法组织到课堂上。为了在Swift中实现这一点,我采用了一些技巧,我很乐意与大家分享:
这并不是对您问题的直接回答,但我试图通过在类中定位方法的组织来解决它的核心问题。因此我一直在探索这里的选项,看起来您可以使用协议定义接口,并使您的类符合该协议。有点偏僻,但是如果目标是一个公共接口,这就实现了
// Foo.swift
protocol PublicFoo {
func publiclyExposedMethod(arg:AnyObject) -> AnyObject
var publiclyExposedVariable:AnyObject
}
class Foo : PublicFoo {
var publiclyExposedVariable:AnyObject = // something
func publiclyExposedMethod(arg:AnyObject) -> AnyObject {
// do stuff...
}
}
我还要补充一点:在Swift中,在类中,可以在定义方法之前使用方法,因此这有助于将公共和内部方法移到顶部。