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'
你只需要在主项目中导入
Interface
pods 和Component
pods你只需要在
OneComponent
pods 中导入1个AnotherComponentInterface
pods
作者
archmagees, [email protected]
许可证
AMRouter 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。