开发者社区> 问答> 正文

快捷-将UserDefaults添加到NotificationCenter

我实现了一个注释中心每当你点击一个特定的表视图单元在另一个内部执行该通知视图控制器,在这个例子中,另一个视图控制器背景颜色变成粉红色,效果很好,但我的问题是,如何保存粉红色的状态在里面是相同的。视图控制器使用用户缺陷?

为了更好地澄清这一点:

视图控制器#2包含当按下操作时执行操作的TableViewCell

视图控制器#1是颜色变化为粉红色的视图。

我想实现什么?

保存粉红色的状态视图控制器#1使用用户缺陷

视图控制器#1代码

-视图DidLoad

override func viewDidLoad()
{
    NotificationCenter.default.addObserver(self, selector: #selector(BrandTableViewController.testNotifcation(notification:)), name:NSNotification.Name(rawValue: "refresh"), object: nil);
}

-TestNotification功能

@objc func testNotifcation(notification: NSNotification) { 

    table.backgroundColor = UIColor.systemPink

    print("This is a message to say it is working")
}

视图控制器#2代码

罗瓦特

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    if indexPath.row == 0
    {

        if traitCollection.userInterfaceStyle == .light
        {
            NotificationCenter.default.post(name: NSNotification.Name(rawValue: "refresh"), object: nil, userInfo: nil)
            self.dismiss(animated: true, completion: nil)
        }
        else if traitCollection.userInterfaceStyle == .dark
        {
            ...
        }
    }
}

展开
收起
游客5akardh5cojhg 2019-12-14 18:08:18 277 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载