专栏名称: Cocoa开发者社区
CocoaChina苹果开发中文社区官方微信,提供教程资源、app推广营销、招聘、外包及培训信息、各类沙龙交流活动以及更多开发者服务。
目录
相关文章推荐
51好读  ›  专栏  ›  Cocoa开发者社区

iOS 移动端生成工具开发

Cocoa开发者社区  · 公众号  · ios  · 2017-08-22 11:17

正文

请到「今天看啥」查看全文



配置完plist后我们将之前的模板一起放入bundle并引入工程.



知识点: 放入bundle的文件并不会进行编译, 仅作为资源文件存储.


选择设计模式


对于设计模式来说, 确实是看过不少相关类型的书籍, 一些常用的设计模式也是手到擒来, 这不, 对于代码生成工具, 立马能够想到生成器模式, 哈哈, 是工厂模式和装饰模式.


其实对于这些设计模式的命名其实感觉挺误导人的, 什么责任链咯, 原型什么的, 其实看一遍代码就懂得东西被吹的神神道道, 也是醉了.


通过设计模式的选择后我们创建了SQBuilder和SQFileParser, 前者为工厂模式, 后者为装饰模式.


@interface SQBuilder : NSObject


@property (nonatomic,copy) NSString * user;

@property (nonatomic,copy) NSString * prefix;

@property (nonatomic,copy) NSString * module;

@property (nonatomic,strong) NSDictionary * parameter;

@property (nonatomic,strong) NSDictionary * dataList;

@property (nonatomic,strong) NSArray * actionList;


+ (void)runWithFileParser:(NSDictionary *)config success:(void (^)())success failure:(void (^)())failure;


- (void)build;


@end


+ (SQBuilder *)builderWithType:(SQBuilderType)builderType {


switch (builderType) {

case SQBuilderTypeiOS:

return [SQBuilder_iOS new];

break;

case SQBuilderTypeAndroid:

return [SQBuilder_Android new];







请到「今天看啥」查看全文