如何在 XCode 和 Swift 中创建和重用模块?
How to create and reuse a module in XCode and Swift?
假设我有这个方法来验证给定的 phone 数字:
func validatePhoneNumber(String: phoneNumber) -> Bool {
return true
}
我在 /projects/A
中有项目 A,在 /projects/B
中有项目 B。
我不想 copy/paste 在项目中使用此功能。相反,我想应用 DRY(不要重复自己)并在这些项目中重用此功能。
如何在 Swift 和 XCode 中做到这一点?我不知道如何开始。
我会将其添加为 String 的扩展,因此它看起来像这样
extension String {
func isValidPhoneNumber() {
return true // better logic here
}
}
你可以像这样使用它"5552324353".isValidPhoneNumber()
现在您可以在项目之间复制 .swift 文件,或者您可以使用 cocoa pods 创建框架或 pod。
解决这个问题的典型方法是创建一个框架。自定义共享工具存储在 SharedTools.framework 之类的框架中。框架是它自己的项目(文件 > 新建 > 项目...然后选择 Cocoa Touch Framework 或 Cocoa Framework)。
有了共享工具框架后,剩下的就是如何link它们进入项目 A 和项目 B 了。
- 共享工具项目可以变成一个 pod 并在项目 A 和项目 B 中使用 Cocoapods
- 项目A和B可以使用Carthage引入共享工具项目
- 项目 A 和 B 可以变成工作区,共享工具项目可以添加为必需项目
如果您将项目嵌入到工作区中,您可以通过多种方式执行此操作。
- 共享工具是否与项目 A 和项目 B 并行
- 共享工具是 A 和 B 的 git 子模块
假设我有这个方法来验证给定的 phone 数字:
func validatePhoneNumber(String: phoneNumber) -> Bool {
return true
}
我在 /projects/A
中有项目 A,在 /projects/B
中有项目 B。
我不想 copy/paste 在项目中使用此功能。相反,我想应用 DRY(不要重复自己)并在这些项目中重用此功能。
如何在 Swift 和 XCode 中做到这一点?我不知道如何开始。
我会将其添加为 String 的扩展,因此它看起来像这样
extension String {
func isValidPhoneNumber() {
return true // better logic here
}
}
你可以像这样使用它"5552324353".isValidPhoneNumber()
现在您可以在项目之间复制 .swift 文件,或者您可以使用 cocoa pods 创建框架或 pod。
解决这个问题的典型方法是创建一个框架。自定义共享工具存储在 SharedTools.framework 之类的框架中。框架是它自己的项目(文件 > 新建 > 项目...然后选择 Cocoa Touch Framework 或 Cocoa Framework)。
有了共享工具框架后,剩下的就是如何link它们进入项目 A 和项目 B 了。
- 共享工具项目可以变成一个 pod 并在项目 A 和项目 B 中使用 Cocoapods
- 项目A和B可以使用Carthage引入共享工具项目
- 项目 A 和 B 可以变成工作区,共享工具项目可以添加为必需项目
如果您将项目嵌入到工作区中,您可以通过多种方式执行此操作。
- 共享工具是否与项目 A 和项目 B 并行
- 共享工具是 A 和 B 的 git 子模块