VD 1.109.0

VD 1.109.0

dankinsoid 维护。



VD 1.109.0

  • 作者:
  • voidilov

VDKit

CI Status Version License Platform

描述

此仓库包含对 Foundation、UIKit 和 SwiftUI 有用的扩展

使用

链式操作

@dynamicMemberLookupKeyPathcallAsFunction(或下标)组合可以为单个表达式更改对象

let label = UILabel().chain
  .text("Text")
  .textColor(.red)
  .font(.system(24))
  .apply()

日期扩展

Date 结构体提供的功能非常有限,任何与日期相关的操作都必须通过 Calendar 以非常不直观、复杂且难以记住的方式实现。为了简化日期操作,这个库提供了一个简单直观的语法。

一些示例

let afterTomorrow: Date = .today + 2.days
//or .today + .days(2)
//or Date.today.adding(2 * .day)
let difference = date2 - date1
let daysBetweenDates = difference.days
//or date2.interval(of: .day, from: date1)
let weeksBetweenDates = difference.weeks
let hours = Date().component(.hour)
//or Date().hour()
let someDate = Date(year: 1994, month: 10, day: 4) 
let startOfMonth = Date().start(of: .month)
let lastMonth = Date().end(of: .year)
let lastDay = Date().end(of: .year, accuracy: .day)
let nextYear = Date().next(.year)
let nextLeapYear = Date().nearest([.month: 2, .day: 29], in: .future)?.start(of: .year)
let monthLenght = Date().count(of: .day, in: .month)
for month in (date1...date2).each(.month) {...}
let weekdayName = Date().name(of: .weekday)
if let date = Date(from: dateString, format: "dd.MM.yyyy") {...}
let dateString = Date().string("dd.MM.yyyy")
let iso860String = Date().iso860
let defaultDateString = Date().string(date: .long, time: .short)
let relativeDateString = Date().string("dd.MM.yyyy",
                            relative: [
                                .day(0): "Today, HH:mm",
                                .day(-1): "Yesterday",
                                .week(0): "EEEE",       
                                .year(0): "dd.MM"
                            ]
                        )

任何函数都包含带有默认值的额外参数,例如

calendar: Calendar = .default
locale: Locale = .default
timezone: TimeZone = .default

其中 Calendar.defaultLocale.defaultTimeZone.default - 这是您可以更改的静态变量。因此,您可以在每个函数中使用自定义 Calendar

let dayOfMonth = Date().position(of: .day, in: .month, calendar: customCalendar)

或者您可以为所有函数设置自己定义的 default

Calendar.default = customCalendar

安装

  1. CocoaPods

将以下行添加到您的 Podfile 中

pod 'VD'

然后首先从 podfile 目录运行 pod update

  1. Swift 包管理器

创建一个 Package.swift 文件。

// swift-tools-version:5.0
import PackageDescription

let package = Package(
  name: "SomeProject",
  dependencies: [
    .package(url: "https://github.com/dankinsoid/VDKit.git", from: "1.109.0")
  ],
  targets: [
    .target(name: "SomeProject", dependencies: ["VDKit"])
  ]
)
$ swift build

作者

dankinsoid, [email protected]

许可证

VDAnimation 以 MIT 许可证可用。有关更多信息,请参阅 LICENSE 文件。