JJComponentUpdateKit 1.0.2

JJComponentUpdateKit 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布最后发布2016年5月

Jian Gong维护。



  • 作者:
  • JJ

JJComponentUpdateKit 可以上更新所有相关组件,以保持它们在同名变更时的一致性。您无需为每个模块编写通知处理代码。JJComponentUpdateKit 保证所有组件都更新到相同的状态。

例如,您应该在不同的模块中显示相同的名称,并且必须在不同的模块中编写名称更新代码。这可能会导致在不同模块中重复代码和名称错误。JJComponentUpdateKit 可以解决这些问题,并且您不需要在各个模块中编写任何更新代码。

使用方法

  • 将 JJComponentUpdateKit/JJComponentUpdateKit 目录移动到您的项目中。

  • 编写处理通知和组件更新的功能类。

    功能类应以 JJCUKFunction 开头。JJComponentUpdateKit 将根据类名规则创建函数类:"JJCUKFunction" + "function type"。[请参阅以下功能类型。]

let ChangeLabelTextNotificationName = "ChangeLabelTextNotificationName"

class JJCUKFunctionChangeLabelText: JJCUKHashTableComponentsFunction{
    var pos = 1

    override init() {
        super.init()

        let nc = NSNotificationCenter.defaultCenter()
        nc.addObserver(self, selector: "changeLabelTextNotification", name: ChangeLabelTextNotificationName, object: nil)
    }

    override func updateComponent(component: JJCUKComponentDataSource!, withObject object: AnyObject!)
    {
        let label = component as! UILabel;
        label.text = String(pos)
    }

    func changeLabelTextNotification()
    {
        ++pos
        updateAllComponentWithObject(nil)
    }
}
  • 定义功能类型并将其设置到您的组件。

    组件必须响应 JJCUKComponentDataSource 协议。我已经将 NSObject 设置为响应 JJCUKComponentDataSource 协议。

let JJCUKFunctionTypeChangeLabelText = "ChangeLabelText"

label1.jjCUKFunctionType = JJCUKFunctionTypeChangeLabelText
label2.jjCUKFunctionType = JJCUKFunctionTypeChangeLabelText

当您设置功能类型时,JJComponentUpdateKit 首先将 label1 的文本设置为标签文本。当标签文本更改时,它将更新 label1 的文本。Label1 和 lable2 具有相同的文本并且一起更新。

许可

JJSkin 在 MIT 许可下发布。请参阅 LICENSE

更多信息

有问题?请创建一个 issues