使用静态方法的服务对象的struct,class或enum?

时间:2017-05-30 14:11:51

标签: swift class struct enums static

我想用静态方法构建一个服务对象。我应该在这种情况下使用struct或class或enum吗?有什么区别?可能会影响编译时间?可能它会以某种方式影响速度?我知道结构对于实例更快。但它如何影响这种情况呢?

你的想法?你体验过吗?

谢谢。

struct/class/enum Linker {

    public static func skypeCall(contact:String) {
        //...
    }

    public static func phoneCall(phoneNumber:String) {
        //...
    }

    public static func openWebPage(url:String) {
       //... 
    }
}

1 个答案:

答案 0 :(得分:5)

Swift中的类和结构有两个关键区别。类允许继承,类是引用类型,而结构是值类型。

根据这些差异做出决定。

由于Linker中的所有内容都是静态的,因此引用和值之间的差异变得无关紧要,因为您没有任何实例。

这样就留下了继承权。你会继承Linker吗?如果没有,请使用结构。如果是,请使用课程。

现在你问的是enum,你可能会因为Linker似乎没有任何常量而只是方法来排除结构。