gpt4 book ai didi

ios - swift 中所需的协议(protocol)方法是动态的,那么说 swift 比 objective c 快多少?

转载 作者:搜寻专家 更新时间:2023-11-01 06:27:38 27 4
gpt4 key购买 nike

我读了很多像Whats the cause, Swift is supposed to be that much faster than Objective-C?这样的文章关于 Objective-C 和 Swift 的性能,但没有得到任何确切的答案使 Swift 与 Objective-C 相比真的更快,正如所说的 Objective c 是动态调度然后我也看到了 Swift 中的动态调度。就像下面的例子。

Protocol Person {
func hasLife()
func canWalk()
}

这两个函数都是动态调度,那怎么能说 Swift 更快。

最佳答案

好吧,阅读一些关于静态调度的内容。在 Swift 中,这些是值类型:整数、 double 、字符串、数组、字典、集合、结构、枚举、元组

并且值类型使用静态分派(dispatch),因为它们不需要继承。所以在很多情况下,这些都是静态的和快速的。在您的示例中,如果您进行协议(protocol)扩展并且该扩展的方法将是静态分派(dispatch),这会使 Swift 更快和休息,您可以在同一示例中阅读 Whats the cause, Swift is supposed to be that much faster than Objective-C? .

extension Person{

// Dynamic dispatch coz required method
func hasLife()
{
print("True")
}

// static dispatch coz not required
func isAlive()
{
print("True")
}
}

关于ios - swift 中所需的协议(protocol)方法是动态的,那么说 swift 比 objective c 快多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51809672/

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