gpt4 book ai didi

ios - 如何防止 Swift 中的对象构造

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

<分区>

您知道哪些方法可以防止使用 Swift 编程语言构建对象?

在 C++ 中,我可以像这样简单地将构造函数设为私有(private):

struct A {
private:
A() {};
};

int main()
{
// Doesn't compile because the constructor is private.
A obj;
return 0;
}

当我在 Swift 中做类似的事情时(我在 Playground 上试过)代码编译得很好:

class A {
private init() {}
}

let obj = A()

更新:

好的,这个问题被标记为重复。但我认为这是一种误解。我要问的是,您知道在 Swift 中防止对象构造的最佳实践是什么。我想要实现的是让我的类(class)的用户清楚地知道它不应该是可构造的。

更新 2:

由于这个问题仍然存在,我认为,对于那些仍然无法理解我真正想要的东西的人,需要做更多的澄清。

给定一个用作一些有用常量的包装器的类,例如:

class Constants {
static let someConstant1 = "CONSTANT_VALUE1"
static let someConstant2 = "CONSTANT_VALUE2"
//....etc...
}

什么选项可以被视为最佳实践:

  • 保持原样,不要担心在此类之外创建对象的可能性;
  • 添加 private init() {} 以防止在当前文件之外创建对象;
  • 使用 init? 并返回 nil 以表明不能按照评论中的建议创建对象。

希望现在问题更清楚了。

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