Latest 1.2.1
Homepage https://github.com/NianJi/AppLord
License MIT
Platforms ios 6.0, requires ARC
Frameworks Foundation, UIKit
Authors

module and service management of ios app

add to your project

management by cocoapods, use:

pod    'AppLord'

module

what is module? every business or task could be module.

when the module init? when app launch or after app launch

how to impl?

first, create class:

#import <AppLord/AppLord.h>
@interface MyModule : NSObject <ALModule>
@end

then, impl like this:

@AppLordModule(MyModule) // Annotation for regist the module, required
@implementation MyModule

// module object init
- (void)moduleDidInit:(ALContext *)context
{
    // do some init thing
}

@end

service

we can receive events from other modules in a module, but it does not always meet the demand. we can’t notify back to the sender. so we provide another way to transfer event between modules: service.

How to use?

Define your custom service

@protocol MyService <ALService>

- (void)doSomething;

@end

Impl it

@interface MyServiceImpl : NSObject <MyService>

@end

@AppLordService(MyService, MyServiceImpl) // regist MyService's Impl class: MyServiceImpl
@implementation MyServiceImpl

- (void)doSomething
{

}

// optional
+ (BOOL)globalVisible
{
    // if return YES, service will be always in the memory
}

@end

How to get the instance of service?

id<MyService> service = [[ALContext sharedContext] findServiceByName:@"MyService"];
// or
id<MyService> service = [[ALContext sharedContext] findService:@protocol(MyService)];

Latest podspec

{
    "name": "AppLord",
    "version": "1.2.1",
    "summary": "The lord of iOS app modules",
    "description": "* Module: module management n* Service Between modules n* Task manage global tasks",
    "platforms": {
        "ios": "6.0"
    },
    "homepage": "https://github.com/NianJi/AppLord",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "fengnianji": "[email protected]"
    },
    "source": {
        "git": "https://github.com/NianJi/AppLord.git",
        "tag": "1.2.1"
    },
    "source_files": "AppLord/**/*.{h,m}",
    "frameworks": [
        "Foundation",
        "UIKit"
    ],
    "requires_arc": true
}

Pin It on Pinterest

Share This