gpt4 book ai didi

ios - 在结构/类中使用所有静态方法的内存成本是多少?

转载 作者:搜寻专家 更新时间:2023-10-30 23:09:11 24 4
gpt4 key购买 nike

在 Swift class/struct 中创建大量的 static/class 函数会导致未释放的内存吗? iOS 应用程序正在运行?对 Utility 类使用 static/class 函数是一种好习惯吗?

在 Swift 中使用 static/class 函数和使用

之间的内存成本有何不同
+ (void) someMethod;

在 Objective-C 中?

最佳答案

Does creating a lot of static/class functions in Swift class/struct result in unreleased memory when the iOS app is running?

staticclass 方法被编译到您的代码中,并且会增加应用程序的存储大小。如果从未使用过,它们不一定会增加应用程序的内存使用量。由于 static 方法不能像 class 方法那样被覆盖,它们总是可以被静态调度。这允许编译器更好地优化它们。在许多情况下,简单的静态方法甚至可以内联到调用它们的地方。就好像他们的方法体被直接移植到了调用点。

Is it a good practice to use static/class functions for Utility classes?

通常避免实用程序类是个好主意。大多数通常会在 Java 或 C# 等语言中出现在实用程序类中的事情都可以使用 Swift 中的扩展来更好地完成。 fileprivate 当您需要一个只在单个文件中使用的实用函数时,全局函数也很方便。只有当您拥有要跨多个文件或模块使用的函数时,才应创建实用程序类。

How different is the memory cost between using static/class functions in Swift and using

+ (void) someMethod;

in Objective-C?

这就是类方法的 Objective-C 语法。 Objective-C 不支持静态方法。

关于ios - 在结构/类中使用所有静态方法的内存成本是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42431619/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com