我是靠谱客的博主 现代冰棍,最近开发中收集的这篇文章主要介绍Swift中KVO使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、对需要监听的对象添加 @objc dynamic修饰 、使用的KVO监听及对应方法才会起作用。

//在自定义的UITableViewCel中使用案例
class MessageTableViewCell:UITableViewCell{
    @objc dynamic var msgModel = MessageModel()

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        self.addObserver(self, forKeyPath: "msgModel", options: NSKeyValueObservingOptions.new, context: nil)
    }

    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        if ((keyPath == "msgModel")&&(change?[NSKeyValueChangeKey.newKey] != nil)) {
            //Doing something  
        }
    }

    deinit {
        self.removeObserver(self, forKeyPath: "msgModel", context: nil)
    }
}

2、Swift中willSet和didSet这两个方法,本身就用来监听属性的变化,也可以不使用KVO的监听方法。

最后

以上就是现代冰棍为你收集整理的Swift中KVO使用的全部内容,希望文章能够帮你解决Swift中KVO使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部