经济危机失业了,我们来参与开源项目保养技能吧

435 阅读2分钟

Xcode Interface Command

Xcode可视化编辑器的选项不够丰富?

  • 我天马行空的想到将IBOutlet作为命令行。解决了Xcode内置可视化编程手段不够丰富的痛点。命令行是一种程序对应一种命令,下级有多种命令。XIC是一种插件对应一种命令,下级有多种命令。XIC的功能扩展性是无限制的。学习0成本,代码0行。

项目后续更新计划

  • 该库集合开源的力量通过封装三方成为项目内的插件来实现无限扩展性,成为iOS&macOS平台上可视化编程的强力助手。目前只集成了DKNightVersion插件,像Masonry这些狠角色还没集成。

代码短小

objective-c
//基于XIC-DKNightVersion插件适配夜间模式。@property (weak, nonatomic) IBOutlet UILabel  *dkdo_bg_0XFFFFFF_0X000000;
//设置边框颜色和宽度。@property (weak, nonatomic) IBOutlet UIButton *sudo_border_0XCCCCCC_1p5;
swift
//基于XIC-DKNightVersion插件适配夜间模式。@IBOutlet weak var dkdo_bg_0XFFFFFF_0X000000: UILabel!
//设置边框颜色和宽度。@IBOutlet weak var sudo_border_0XCCCCCC_1p5: UIButton!

项目结构

XIC

  • RuntimeWork包含两个高速缓存避免了大量的运行时解析工作。
  • SDK协议负责定义一个插件,例如我想封装Masonry的功能为一个插件,就实现这个接口。
  • Option接口是一个插件命令下对应的多种选项,例如设置背景色。
  • Args接口是每一个Option需要的参数。
  • Command是命令实体对象,运行时被解析并缓存。

开发插件

  • Fork和Star项目
  • clone to local git
  • 实现,,三个接口
  • push it.

难点

  • 由于完全基于运行时工作的特性。在开发Option接口的时候,我们对runtime熟悉程度很重要。比如没有类型提示,没有self的环境,这些需要通过runtime去模拟。

大家都来+1吧...