Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 1.74 KB

README.md

File metadata and controls

85 lines (56 loc) · 1.74 KB

DMInject

Version License Platform

DMInject is a Dependency Manager that helps you to clear your code and be more productive.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

How to use

First Step - add mapping:

import DMInject

class DMInjectionMapper: DMInjectionMapperProtocol {
    var arrayReturn = [Any]()

    // Use this map to add the objects, the DMInject will get by type
    func initialize() {
        arrayReturn.append(MyClass())
    }

    func getAllInjections() -> [Any] {
        return arrayReturn
    }
}

Add to your AppDelegate:

DMInject.main.initialize(mapper: DMInjectionMapper())

Now is only use:

// Exemple 1: Easy way
var myclass: MyClassProtocol?
myclass << DMInject()
if let name = myclass?.getName() {
    print(name)
}


// Exemple 2: Declarative way
let myClass2 = DMInject.main.getInstance(interface: MyClassProtocol.self)
if let name = myClass2?.getName() {
    print(name)
}

// Example 3: Using Property Wraper
@Inject
var myClassX: MyClassProtocol?

Requirements

  • iOS 9.3
  • XCode 11

Installation

DMInject is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'DMInject'

Author

Narlei Moreira, [email protected]

License

DMInject is available under the MIT license. See the LICENSE file for more info.