gpt4 book ai didi

swift - 创建私有(private)函数与在私有(private)扩展中创建函数有区别吗?

转载 作者:行者123 更新时间:2023-12-03 08:12:31 28 4
gpt4 key购买 nike

我可以通过将函数放入类的私有(private)扩展中来创建私有(private)函数,而不是通过不断调用 private func functionName(){} 来创建新的私有(private)函数吗?

这样做:

private extension mClass {
func mFuncOne(){}
func mFuncTwo(){}
func mFuncThree(){}
func mFuncFour(){}
func mFuncFive(){}
}

而不是:

class mClass {
private func mFuncOne(){}
private func mFuncTwo(){}
private func mFuncThree(){}
private func mFuncFour(){}
private func mFuncFive(){}
}

最佳答案

从技术上讲,区别在于 private extension使方法fileprivate ,不是private .

但真正的问题是为什么要使用 private extension而不是仅仅将各个方法声明为 private

我们这样做是因为:

  • 扩展有助于我们的代码组织,将方法分成逻辑分组(例如,它避免将私有(private)实现细节与公共(public)接口(interface)混合在一起);
  • 扩展的使用使得 Xcode IDE 中整组方法的代码崩溃;和
  • 将整个扩展标记为 private避免重复的句法噪音 private每个方法的关键字。

所以,private private 中的方法和方法extension从技术上讲,两者并不相同,但区别很微妙,private extension尽管如此,模式还是非常方便的。它简洁地表明其中包含的任何方法都不会在当前文件之外使用。

关于swift - 创建私有(private)函数与在私有(private)扩展中创建函数有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70380664/

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