gpt4 book ai didi

swift - 如何修改不在父/子关系中的另一个类的对象属性?

转载 作者:行者123 更新时间:2023-11-30 14:12:33 24 4
gpt4 key购买 nike

我知道如何在父/子关系模式下修改另一个类的对象的属性,但是,如果不是父/子关系我真的做不到,任何人都可以解决我的问题吗?

第一个 View Controller :

class ViewController: UIViewController {

var uview:UIView = UIView()

override func viewDidLoad() {
super.viewDidLoad()

uview.frame = CGRectMake(55, 175, 100, 100)
uview.backgroundColor = UIColor.greenColor()
self.view.addSubview(uview)

var sec = second()
self.view.addSubview(sec.view)

}
}

第二个 View Controller :

class second:UIViewController{

var button = UIButton()

var color = UIColor.blackColor()
override func viewDidLoad() {
super.viewDidLoad()

button.frame = CGRectMake(55, 55, 100, 100)
button.backgroundColor = UIColor.redColor()
button.addTarget(self, action: "press", forControlEvents:UIControlEvents.TouchUpInside)
self.view.addSubview(button)

}

func press(){
var first:ViewController = ViewController()
first.uview.backgroundColor = UIColor.purpleColor()

}
}

最佳答案

您添加一个委托(delegate),例如 this question或者您可以简单地将第二个 View Controller 声明为第一个 View Controller 的实例属性:

class ViewController: UIViewController {
var uview:UIView = UIView()
var sec : second!

override func viewDidLoad() {
super.viewDidLoad()

uview.frame = CGRectMake(55, 175, 100, 100)
uview.backgroundColor = UIColor.greenColor()
self.view.addSubview(uview)

self.sec = second()
self.view.addSubview(sec.view)
}
}

关于swift - 如何修改不在父/子关系中的另一个类的对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31608249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com