我刚开始学习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)")
你就完成了:-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)