DTBKit
这是什么?
一系列个人包集合,旨在展示各种场景下的最佳实践;
关注轻松迁移业务代码到项目中。
当业务增长或新项目开发时,我们通常想
- 重用部分代码
- 也隔离项目
这个话题非常大。简而言之,我认为
-
对于独立开发者和小团队来说,严格的模块化是不现实的;
-
KingFisher
开创的隔离方法非常好,但如果你想将其扩展到整个商业项目,你需要考虑更多。
这个项目就是这个问题的反思。
快速上手
查看示例:建议安装xcodegen
,进入Example
目录,然后在命令行上执行xcodegen
和pod install
。
此项目采用cocoapods结构,但尚未正式发布。使用时,需要使用类似于
pod 'DTBKit', git: 'https://github.com/darkThanBlack/DTBKit', commit: 'dd3acb'
的形式指定仓库地址和版本号。
文档和注释可能并不完美,请在使用前仔细阅读源代码。
代码使用非常简单。首先,理论上是
-
任何对象都可以有一个特殊的“命名空间”。以
UIView
为例,你可以/// transfer UIView().dtb /// static method UIView.dtb
-
然后,假设你有一个名为
test
的业务方法,你可以UIView().dtb.test()
-
对于你自己的新项目或业务,你可以将三个单词
dtb
替换为你喜欢的任何名称UIView().xm
-
假设新业务中有一个名为
test2
的业务方法UIView().xm.test() UIView().dtb.test() UIView().xm.test2() UIView().dtb.test() // Compilation error
-
对于新业务
xm
,它可以直接调用dtb
空间中的所有方法。然而,对于xm
空间中的方法,无法调用dtb
,并且也不会有代码提示。 -
一些方法支持链式调用,并将返回一个以
wrapper
命名的对象,所有的wrapper
对象都有一个value
属性,用于获取内部实际对象let titleLabel = UILabel().dtb.title("moon").value titleLabel.backgroundColor = .white
演示
如何导入DTBKit及最佳实践。
示例
主要开发项目。
基础
静态。全面测试。
UIKit
参考UI程序包。
作者
moonShadow.
许可证
DTBKit采用MIT许可证。更多信息请查看LICENSE文件。