Spread is a data flow control. It changes the way you manage your data.
- Create, mapping dictionary to model and model to dictionary, manage data model automatic.
- Auto trigger event to all models in register pools.
- React when model properties, pool change value.
- Store and restore models in pools from local database.
- Fetch/push data for model from internet.
- Remote event manager with queue.
pod "Spread", "~> 1.1.0"
- Drag and drop Classes folder into your project.
#import "Spread.h"
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"])
If you use/enjoy Spread
, let me know!
See the LICENSE file for more info.