刚开始学习Apple Swift语言,看不懂: 如何在类的参数中保留对另一个对象的引用?
// List - my custom class
class RecordsList: NSObject {
var listObj: List!
init (inout list: List!)
{
self.listObj = list
}
func printData()
{
println(self.listObj.name)
}
}
var listObject = List()
listObject.name = "FirstValue"
RL = RecordsList(&listObject)
listObject.name = "SecondValue"
RL.printData()
// I expect: "SecondValue"
// But result: FirstValue =(
如何获取“SecondValue”?
最佳答案
在 Swift 中,对象通常是通过引用传递的,只有像字符串、整数...这样的东西是按值传递的...(结构也是按值传递的!!!)
这意味着你不需要创建一个指向你的对象的特殊指针......如果你只是传递一个对象你已经设置了一个指向该对象的指针(不是副本)
class TestClass {
var name: String?
}
class SecondTestClass {
var testClass: TestClass?
}
var testClass = TestClass()
var secondTestClass = SecondTestClass()
secondTestClass.testClass = testClass
testClass.name = "Worked"
var stringInObject = secondTestClass.testClass?.name
NSLog("\(stringInObject)")
你就完成了:-)
关于swift - 如何在类的参数中保留对另一个对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31946964/