【问题标题】:How to keep a reference to another object in the parameters of the class如何在类的参数中保留对另一个对象的引用
【发布时间】:2015-08-11 16:18:11
【问题描述】:

我刚开始学习 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 =(

如何获得“第二值”?

【问题讨论】:

  • 我实际上在 Xcode 6.4 上得到了 "SecondValue" 的代码。

标签: swift


【解决方案1】:

在 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)")

你就完成了:-)

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    相关资源
    最近更新 更多