如何在XCode和Swift中创建和重用模块?

时间:2018-07-11 18:58:57

标签: swift xcode dry

想象一下我有这种方法可以验证给定的电话号码:

func validatePhoneNumber(String: phoneNumber) -> Bool {
    return true
}

我在/projects/A中有项目A,在/projects/B中有项目B。

我不想在项目之间复制/粘贴此功能。相反,我想应用DRY(不要重复自己),并在这些项目中重复使用此功能。

如何在Swift和XCode中做到这一点?我无从下手。

2 个答案:

答案 0 :(得分:1)

解决此问题的典型方法是创建一个框架。自定义共享工具存储在诸如SharedTools.framework之类的框架中。框架是它自己的项目(文件>新建>项目…,然后选择Cocoa Touch框架或Cocoa框架)。

拥有共享工具框架后,只需要将它们链接到项目A和项目B中即可。

  • 共享工具项目可以转换为Pod,并在项目A和项目B中使用Cocoapods
  • 项目A和B可以使用迦太基引入共享工具项目
  • 可以将项目A和B转换为工作区,并且可以将共享工具项目添加为必需的项目

如果将项目嵌入到工作区中,则有几种方法可以实现。

  • 共享的工具与项目A和项目B并排
  • 让共享工具成为A和B的git子模块

答案 1 :(得分:0)

我会将其添加为String的扩展名,因此看起来像这样

add_header Access-Control-Allow-Origin https://[domain].org;

您可以像这样extension String { func isValidPhoneNumber() { return true // better logic here } }

使用它

现在,您可以在项目之间复制.swift文件,也可以使用可可豆荚创建框架或豆荚。