DTBKit 0.1.0

DTBKit 0.1.0

darkThanBlack 维护。



DTBKit 0.1.0

  • moonShadow

DTBKit

Static Badge Static Badge

Static Badge

英文 | 简体中文

这是什么?

一系列个人包集合,旨在展示各种场景下的最佳实践;

关注轻松迁移业务代码到项目中。

当业务增长或新项目开发时,我们通常想

  • 重用部分代码
  • 也隔离项目

这个话题非常大。简而言之,我认为

  • 对于独立开发者和小团队来说,严格的模块化是不现实的;

  • KingFisher开创的隔离方法非常好,但如果你想将其扩展到整个商业项目,你需要考虑更多。

这个项目就是这个问题的反思。

快速上手

查看示例:建议安装xcodegen,进入Example目录,然后在命令行上执行xcodegenpod 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文件。