gpt4 book ai didi

swift - 我自己的自定义类中的扩展

转载 作者:可可西里 更新时间:2023-11-01 00:08:22 25 4
gpt4 key购买 nike

我正在阅读另一个 SO 问题,Swift do-try-catch syntax .在他的回答中,rickster 为 OP 的自定义类创建了一个扩展。 Konrad77 评论说这是“保持代码整洁的好方法”。我尊重他们的知识,这让我相信我在自己的代码中遗漏了要点。

是否有任何其他好处(除了清洁之外)或为我创建的类创建扩展的原因?我可以直接将相同的功能放入类中。如果我是唯一一个使用该类(class)的人,或者如果其他人将访问它,答案会改变吗?

最佳答案

对于您从头开始创建的类,扩展是一种功能强大的结构文档类型。您将类的核心放在初始定义中,然后添加扩展以提供其他功能。例如,添加对协议(protocol)的遵守。它为包含的代码提供位置:

struct Foo {
let age: Int
}

extension Foo: CustomStringConvertible {
var description:String { return "age: \(age)" }
}

我可以将协议(protocol)和计算属性放在结构声明中吗?当然可以,但是当您拥有不止一个或两个属性时,它就会开始变得困惑且难以阅读。如果代码不干净且不可读,则更容易产生错误。使用扩展是避免复杂性带来的困难的好方法。

关于swift - 我自己的自定义类中的扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36263892/

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