首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修改不在父/子关系中的另一个类的对象属性?

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

Stack Overflow用户
提问于 2015-07-24 10:31:55
回答 1查看 1K关注 0票数 0

我知道如何在父/子关系模式下从另一个类修改对象的属性,但是,如果没有父/子关系,我真的做不到,谁能解决我的问题?

First viewController:

代码语言:javascript
复制
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)

}
}

第二viewController:

代码语言:javascript
复制
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()

}
}
EN

回答 1

Stack Overflow用户

发布于 2015-07-24 14:42:29

您可以添加像this question这样的委托,或者只需将第二个视图控制器声明为第一个视图的实例属性:

代码语言:javascript
复制
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)
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31608249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档