KVC给只读属性进行赋值..

  // 创建一个自定义的tabBar,然后替换系统的tabBar
        let BFTabBar = VBFTabBar()
        

        // tabBar是一个 readonly 属性
        // 运行的时候给他赋值
        // KVC -- 键值编码,能够动态给对象的属性赋值
        setValue(BFTabBar, forKey: "tabBar")


// 
原文地址:https://www.cnblogs.com/zhubaofeng/p/5375509.html