Giter VIP home page Giter VIP logo

remotemapping's Introduction

RemoteMapping

Provides direct mapping from Core Data entities to remote properties.

This library was built in order to make serialization of objects from Core Data to remote representations and vice versa much easier. You can map core data attributes and relationships to custom remote property names by adding a key and value to their user info dictionaries. You can also mark properties as local/remote primary keys.

Usage

Primary Keys

To set primary keys on an entity description, just update the userInfo of the NSEntityDescription in the "Data Model Inspector" in Xcode, or explicitly set the userInfo dictionary in code.

Set a local primary key name:

entity.userInfo["primaryKey.local"] = "localPrimaryKey"

Get a local primary key name:

entity.localPrimaryKeyName

Get a local primary key:

entity.localPrimaryKey

Set a remote primary key name:

entity.userInfo["primaryKey.remote"] = "remotePrimaryKey"

Get a remote primary key name:

entity.remotePrimaryKeyName

Get a remote primary key:

entity.remotePrimaryKey

Remote Properties

To set custom remote property names, select the attribute or relationship in your .xcdatamodeld, and add the proper keys and values to the userInfo dictionary in the "Data Model Inspector".

Set a remote property name:

propertyDescription.userInfo["remotePropertyName"] = "somePropertyName"

Get a remote property name:

propertyDescription.remotePropertyName

You can ignore properties in the same way.

propertyDescription.userInfo["remoteShouldIgnore"] = true
propertyDescription.remoteShouldIgnore

Core Data Extensions

This library adds conformation of RemoteEntityType to NSEntityDescription, and RemoteObjectMappingType to NSPropertyDescription.

All instances of NSPropertyDescription will return the name for remotePropertyKey by default.

All instances of NSEntityDescrption will return "remoteID" as the value for remotePrimaryKeyName and localPrimaryKeyName by default. There are also variables added for remotePrimaryKey and localPrimaryKey.

This also adds remoteProperties, remotePropertiesByName, and remotePropertiesByLocalName to NSEntityDescription instances, which filter properties by the information provided by RemoteObjectMappingType instances.

remotemapping's People

Contributors

justinmakaila avatar

Stargazers

Mustafa Ozguner avatar

Watchers

James Cloos avatar  avatar  avatar

remotemapping's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.