分享 1.2.1

分享 1.2.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布2016年10月

Huy Pham维护。



分享 1.2.1

Share是一种数据流控制。它改变了您管理数据的方式。

功能

  • [x] 创建,将字典映射到模型并将模型映射到字典,自动管理数据模型。
  • [x] 自动触发注册池中所有模型的触发事件。
  • [x] 当模型属性、池发生变化时进行反应。
  • [ ] 将池中的模型存储和从本地数据库恢复。
  • [x] 从互联网获取/推送模型数据。
  • [x] 支持队列的远程事件管理器。

安装

手册

  • 将Classes文件夹拖放到您的项目中。

使用方法

#import "Spread.h"

创建一个类子类SModel

class Model: SModel {
  dynamic var objectId: String!
  dynamic var name: String!
}

注册类

Spread.registerClass(Model.classForCoder(), forPoolIdentifier:"PoolIdentifier")

注册池事件

Spread.registerEvent("TheEvent",
  poolIdentifiers:["PoolIdentifier"]) { (value, spool) -> Void in
  let objectId = (value as NSDictionary).valueForKey("objectId") as String
  let newName = (value as NSDictionary).valueForKey("name") as String
  let models = spool.filter({ (model) -> Bool in
    return (model as Model).objectId == objectId
  })
  for item in models {
    let model = item as Model
      model.name = newName
    }
  }

添加样本数据模型并为属性设置反应

let model = Spread.addObject(["name": "Some name", "objectId": "123"],
  toPool: self.pool1Identifier)

model.property("name", onEvent: SModelEvent.OnChange) { (oldValue, newValue) -> Void in
  aTextField.text = newValue as String
}

执行事件

Spread.outEvent("TheEvent",
  value: ["name": "Change the name", "objectId": "123"])

联系

如果您使用或喜欢分享,请告诉我!

许可证

有关更多信息,请参阅LICENSE文件。