在Swift中,我知道从类创建的对象是引用类型,我正在做的是:
class Test {
var property: String?
}
var firstTest: Test? = Test()
firstTest.property = "Value"
var secondTest = firstTest
secondTest = nil
print("first Test result: ",firstTest)
// first Test result: nil
调试器输出nil!因为对secondTest和firstTest的引用是相同的
我给secondTest一个新的内存引用
答案 0 :(得分:0)
我的解决方案是使用struct
而不是class,因为struct是value类型,这意味着它在传递给另一个变量或函数等时会在内存中创建新对象。
但我的解决方案仅适用于struct,希望对您有所帮助;)
struct Test {
var property: String?
}
var firstTest: Test? = Test()
firstTest.property = "Value"
var secondTest = firstTest
secondTest = nil
print("first Test result: ",firstTest.property)
/* first Test result: Value */