我想确保通过引用使用对象的每个实例。实例化它可能是几次但不应该被复制 F.E.在c ++中很容易做到:
class A {
public:
A(const A&) = delete;
A& operator = (const A&) = delete;
};
就是这样。当然smbd可能会尝试在内存中进行一些破解 - 但它没有用,也不是那么容易。您应该确切地知道对象的内存布局以及它封装的所有字段。我不希望smth特别 - 只是等同于swift 3中的上述代码。
答案 0 :(得分:1)
在Swift,classes are reference types。所以他们已经做了你想做的事:他们只能通过参考。它们总是在堆上,并且赋值将用于分配引用,而不是类内容。因此,请确保将对象声明为class
而不是struct
- 与C ++不同,Swift中两者之间的主要区别在于引用类型与值类型。