Popularity
1.0
Stable
Activity
0.0
Stable
22
4
2

Code Quality Rank: L3
Programming language: Swift
License: MIT License
Latest version: v0.0.3

Monaka alternatives and similar libraries

Based on the "Data Structures / Algorithms" category.
Alternatively, view Monaka alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Monaka or a related project?

Add another 'Data Structures / Algorithms' Library

README

Monaka

[Swift](#) Carthage compatible [Platform](#) License

Overview

Monaka convert custom struct and fundamental values to NSData (also nested array and dictionary).

Purpose

You can persistent store of your defined struct. Your defined struct is for example 'latest selected tab index', 'array of struct fetched from API' or 'current application state'. I think these should be represented as simple struct and can be stored in application. Converted data can be written in file or NSUserDefault.

Installation

Carthage

github "naru-jpn/Monaka"

CocoaPods

pod 'Monaka'

Usage

For Standard Variables

Packable variable ⇄ NSData.

// Pack
let value: Int = 10
let data: NSData = Monaka.pack(value)

// Unpack
let unpacked = Monaka.unpack(data) as? Int

For Custom Struct

1.Make a custom struct confirming protocol CustomPackable

struct Sample: CustomPackable {

    let id: String

    // Return new struct from applied properties.
    static var restoreProcedure: ([String : Packable] -> Packable?) = { (properties: [String : Packable]) -> Packable? in
        guard let id = properties["id"] as? String else {
            return nil
        }
        return Sample(id: id)
    }
}

2.Activate your custom struct.

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

  Monaka.activate(Sample)

  // Other codes...

  return true
}

3.Pack/Unpack

You can Pack/Unpack as standard types.

// Pack
let value: SampleStruct = SampleStruct(id: NSUUID().UUIDString)
let data: NSData = Monaka.pack(value) 
// Unpack
let unpacked = Monaka.unpack(data) as? SampleStruct

License

Monaka is released under the MIT license. See LICENSE for details.


*Note that all licence references and agreements mentioned in the Monaka README section above are relevant to that project's source code only.