访问另一个函数内的对象

时间:2014-08-14 19:18:28

标签: xcode function object swift

基本上,我有一个函数,其中已经创建了几个对象,而另一个函数是我试图访问这些对象。如下所示:

func createButtons() {

var myButton01 = BigButton.createbutton()
var myButton02 = BigButton.createbutton()

}

正如您所看到的,我正在尝试访问对象以将其与字典中的键配对。

func setupConstraints() {

var myButtonDictionary = ["myButton01": myButton01, "myButton02": myButton02]

...

}

如何在不必将第二个功能移动到第一个功能的情况下使其可访问。有没有办法让对象可以访问其他函数?

2 个答案:

答案 0 :(得分:1)

创建您正在使用的类的myButton01和myButton02属性,或者如果没有类,只需将变量放在函数之外。

如果没有课,你就会这样做:

var myButton01: BigButton? = nil
var myButton02: BigButton? = nil

func createButtons() {
    var myButton01 = BigButton.createbutton()
    var myButton02 = BigButton.createbutton()
}

func setupConstraints() {
    var myButtonDictionary = ["myButton01": myButton01!, "myButton02": myButton02!]

    ...
}

答案 1 :(得分:0)

通常,您可以在其他构造中使用这些函数,例如类,这些对象将是实例变量。

class BigButton {
    class func createButton() -> BigButton {
        return BigButton()
    }
}

class Foo {
    var myButton01: BigButton?
    var myButton02: BigButton?

    func createButtons() {
        myButton01 = BigButton.createButton()
        myButton02 = BigButton.createButton()
    }

    func setupConstraints() {
        var myButtonDictionary = ["myButton01": myButton01, "myButton02": myButton02]

    }
}