SwifterSwift 是 500 多个原生 Swift 扩展的集合,为 iOS、macOS、tvOS、watchOS 和 Linux 提供了(超过 500 个)适用于各种原生数据类型、UIKit 和 Cocoa 类的便捷方法、语法糖和性能改进。
- iOS 12.0+ / tvOS 12.0+ / watchOS 4.0+ / macOS 10.13+ / Ubuntu 14.04+
- Swift 5.6+
SwifterSwift 从 v5 开始兼容 Swift v5.0+
CocoaPods
要使用 CocoaPods 将 SwifterSwift 集成到您的 Xcode 项目,请在您的 Podfile
中设置:
pod 'SwifterSwift'
pod 'SwifterSwift/SwiftStdlib'
pod 'SwifterSwift/Foundation'
pod 'SwifterSwift/UIKit'
pod 'SwifterSwift/AppKit'
pod 'SwifterSwift/MapKit'
pod 'SwifterSwift/CoreGraphics'
pod 'SwifterSwift/CoreLocation'
pod 'SwifterSwift/SpriteKit'
pod 'SwifterSwift/SceneKit'
pod 'SwifterSwift/StoreKit'
pod 'SwifterSwift/Dispatch'
pod 'SwifterSwift/WebKit'
pod 'SwifterSwift/HealthKit'
Carthage
要使用 Carthage 将 SwifterSwift 集成到您的 Xcode 项目中,请在您的 Cartfile
中设置:
github "SwifterSwift/SwifterSwift" ~> 6.0
Swift Package Manager
你可以使用 The Swift Package Manager 来安装 SwifterSwift,请在你的 Package.swift
文件中添加正确的描述:
import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
targets: [],
dependencies: [
.package(url: "https://github.com/SwifterSwift/SwifterSwift.git", from: "6.0.0")
]
)
接下来,将 SwifterSwift
添加到您的 targets 依赖项中,如下所示:
.target(
name: "YOUR_TARGET_NAME",
dependencies: [
"SwifterSwift",
]
),
然后运行 swift package update
。
请注意,Swift Package Manager 不支持为 iOS/tvOS/macOS/watchOS 应用程序编译 - 请参阅下一节中的 Accio。
Accio
Accio 是一个基于 SwiftPM 的依赖管理器,可以为 iOS/macOS/tvOS/watchOS 构建框架。因此,集成步骤与上述完全相同。一旦你的 Package.swift
文件被配置,你需要运行 accio update
而不是 swift package update
。
SwiftStdlib 扩展
Array extensions
BidirectionalCollection extensions
BinaryFloatingPoint extensions
Bool extensions
Character extensions
Collection extensions
Comparable extensions
DecodableExtensions extensions
DefaultStringInterpolationExtensions extensions
Dictionary extensions
Double extensions
Float extensions
FloatingPoint extensions
Int extensions
Optional extensions
RangeReplaceableCollection extensions
Sequence extensions
SignedInteger extensions
SignedNumeric extensions
String extensions
StringProtocol extensions
Foundation 扩展
UIKit 扩展
UIActivity extensions
UIAlertController extensions
UIApplication extensions
UIBarButtonItem extensions
UIButton extensions
UICollectionView extensions
UIColor extensions
UIDatePicker extensions
UIEdgeInsets extensions
UIFont extensions
UIGestureRecognizer extensions
UIImage extensions
UIImageView extensions
UILabel extensions
UILayoutPriority extensions
UINavigationBar extensions
UINavigationController extensions
UINavigationItem extensions
UIRefreshControl extensions
UIScrollView extensions
UISearchBar extensions
UISegmentedControl extensions
UISlider extensions
UIStackView extensions
UIStoryboard extensions
UISwitch extensions
UITabBar extensions
UITableView extensions
UITextField extensions
UITextView extensions
UIViewController extensions
UIView extensions
UIWindow extensions
CoreGraphics 扩展
SceneKit 扩展
SwifterSwift 是一个包含 500 多个属性和方法的库,旨在扩展 Swift 的功能和生产力,并忠实于原生的 Swift API 设计指南。
查看项目中的 Examples.playground 以获取一些很酷的示例!
所有扩展的文档和示例都在 swifterswift.com/docs
我们希望得到您的反馈。参与前请参阅 contributing guidelines。
使用 SwifterSwift 与其他人交谈并交流经验总是很愉快,所以加入我们的 Slack 频道吧。
特别感谢:
- Steven Deutsch, Luciano Almeida 和 Guy Kogus 对扩展、文档和测试的最新贡献。
- Paweł Urbanek 添加了 tvOS、watchOS 和 macOS 的初始化支持和帮助扩展。
- Mert Akengin 和 Bashar Ghadanfar 设计了 project website 和 logo.
- 非常感谢这个项目的所有其他贡献者。
SwifterSwift 在 MIT 许可协议下发布的。有关更多信息,请参阅 LICENSE。