小编Ant*_*sen的帖子

Swift插件架构

我正在寻找一种在Swift中的插件架构中实现的方法.

用例

一个应用程序,fx.CLI,有一个文件夹,可以在其中放置插件,并在应用程序启动时加载.

要求

  • 能够定义插件必须或可以遵守的协议或协议集.
  • Pure Swift.
  • 反思给定插件实现的协议.
  • 应用程序启动时动态加载.
  • 与委托模式沟通.
  • 插件开发人员应该能够导入协议,实现它们,编译并将二进制文件放在插件文件夹中.

我试过的

我曾经Process开始使用可执行文件,我也可以添加参数.但这不符合我的要求.

我发现了这篇文章如何完成,但这需要使用NSBundle和Objective-C这样做也没有用.

我真的不确定如何解决这个问题.任何有关正确方向的帮助或指示都将不胜感激.

plugins swift

8
推荐指数
1
解决办法
581
查看次数

同名的Swift枚举案例

假设我有以下枚举:

enum Measurement {
 case Volume(litre: Double)
 case Volume(millilitre: Double)
 case Length(cm: Double)
}
Run Code Online (Sandbox Code Playgroud)

然后,当我做这样的switch声明时:

switch measurement {
 case .Volume(let val):
...   
Run Code Online (Sandbox Code Playgroud)

如何区分这两种Volume情况?还是这真的不可能,我应该使用VolumeLitreVolumeMillilitre代替?

swift

6
推荐指数
1
解决办法
179
查看次数

标签 统计

swift ×2

plugins ×1