Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift最终类和函数_Swift_Performance_Final - Fatal编程技术网

Swift最终类和函数

Swift最终类和函数,swift,performance,final,Swift,Performance,Final,这似乎是一个关于性能的小问题,但在Swift中,如果您将一个类声明为final,那么是否有必要将其所有方法声明为final,或者这只是多余的冗余?我只想确保我的具体类以final的形式运行,以最大限度地提高我的应用程序的安全性和性能。感谢您提前提供的任何提示、智慧或知识 Swift如果您将类声明为final,是否还需要将其所有方法声明为final,或者这只是多余的冗余 是的,这是多余的。如果类是final,则其所有成员都是final。您正在获得避免动态调度的效率,您想做什么。因此基本上不需要将这

这似乎是一个关于性能的小问题,但在Swift中,如果您将一个类声明为
final
,那么是否有必要将其所有方法声明为
final
,或者这只是多余的冗余?我只想确保我的具体类以
final
的形式运行,以最大限度地提高我的应用程序的安全性和性能。感谢您提前提供的任何提示、智慧或知识

Swift如果您将类声明为final,是否还需要将其所有方法声明为final,或者这只是多余的冗余


是的,这是多余的。如果类是final,则其所有成员都是final。您正在获得避免动态调度的效率,您想做什么。

因此基本上不需要将这些方法设置为最终方法?正确,因为您可以用什么方式覆盖其中一种方法?您无法创建子类,因此没有地方执行override.Dang。当您在编译器构建设置中打开“整个模块优化”时,已经有人问过您,那么这也有类似的效果。但是它是由编译器为您完成的,您不必将所有类标记为final。缺点:它只适用于应用程序,不适用于库,并且它显著增加了构建时间。但这也可以做到,例如,只针对发布版本。@Darko什么是“ma”?