AMRouter
示例
要运行示例项目,请先克隆仓库,然后从 Example 目录中运行 pod install。
要求
iOS 9.0
安装
AMRouter 可通过 CocoaPods 获取。要安装它,只需在 Podfile 中添加以下行:
pod 'AMRouter'用法
-
创建一个类,它的命名格式应该是这样的:
ShareComponent、MessageComponent。如果您的模块功能是分享,则应该创建一个名为
ShareComponent的文件。例如
#import <Foundation/Foundation.h> @interface MessageComponent : NSObject @end
-
创建一个协议文件,并定义您希望类(即刚刚创建的)展开的方法,例如
@protocol MessageComponentInterface <NSObject> @required - (BOOL)notificationEnabled; @end
现在让在第1步中创建的类遵守您刚刚创建的协议,现在应该是这样的
#import <Foundation/Foundation.h> #import "MessageComponentInterface.h" @interface MessageComponent : NSObject <MessageComponentInterface> @end
-
现在,接下来是第3步,非常重要的一步。创建一个类为
AMComponent的分类文件。并创建一个公共类方法,如下所示#import <AMRouter/AMRouter.h> #import "MessageComponentInterface.h" @interface AMComponent (Message) + (id<MessageComponentInterface>)message; @end #import "AMComponent+Message.h" static NSString * const kTargetName = @"Message"; @implementation AMComponent (Message) + (id<MessageComponentInterface>)message { return [self targetWithName:kTargetName classPrefix:nil componentNameSuffix:nil shouldCache:YES]; } @end
-
现在创建两个pods
-
一个pods,它的名字是
XxxComponentInterface,它应该包含这三个文件XxxComponentInterface.h(它也是一个协议文件),AMComponent+Xxx.h和AMComponent+Xxx.m。并让这个pods依赖于AMRouter。 -
第二个是
XxxComponent,它应该包含XxxComponent.h和XxxComponent.m以及组件中其他的必要文件。并让这个pods依赖于XxxComponentInterface。
-
-
🎉 完成了!现在你可以在另一个模块中导入这个功能,导入方式如下BOOL enabled = [[AMComponent message] notificationEnabled];
只需要在
Podfile中依靠一个pods即可,如下pod 'XxxComponentInterface'你只需要在主项目中导入
Interfacepods 和Componentpods你只需要在
OneComponentpods 中导入1个AnotherComponentInterfacepods
作者
archmagees, [email protected]
许可证
AMRouter 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。