Swift 标准库扩展集合,简化常见任务。
要运行示例项目,首先从仓库中克隆,然后在 Example 目录中运行 pod install
。
func switchDataSourceFrom<T:Equatable>(oldData: [T], to newData: [T], withAnimation animation: UITableViewRowAnimation)
这个扩展节省了添加、删除和移动表格中 UITableViewCell
所带来的麻烦。不用调用 reloadData()
,而要用这个扩展从旧数据源切换到新数据源——只需选择你想要的动画过渡方式。你甚至可以为特定的部分切换数据源。
这个简单的函数调用允许任何 UIScrollView 动态响应触摸键盘的打开和关闭。它负责设置合适的 NSNotificationCenter
订阅,并且甚至自动滚动到活动的 UITextField
。
只要在 UIViewController
中创建一个对 UIScrollView
的引用,并在 viewDidLoad()
中调用这个函数即可。
通过传递 nib 的名称,轻松从 NSBundle 中实例化 UIView 对象。
用一行代码将子视图约束到其父视图的所有边缘。
从任何 NSTimeInterval
创建一个易于阅读的字符串,如 5 hours
。
The NSData 扩展包含从 Ints 和 Strings 转换到 NSData 及反之转换的多个功能。
此中缀运算符允许轻松进行“乘方”操作,例如 2^^4 = 16
。
使用一行代码将在 MKMapView 上放大并定位到 MKAnnotations,可选择动画效果。
轻松读取或打印 CBCentralManager
或 CBPeripheralManager
对象的当前状态,而不是尝试检查枚举值。
输出 UIFont 中所有字体族和名称。这通常是包含自定义字体到您的应用中的必要步骤。
MagicExtensions 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile
pod "MagicExtensions"
当您希望使用扩展之一时,打开项目文件夹中 Pods
文件夹中的 MagicExtensions
文件夹。右键单击您要打开的文件,选择“在 Finder 中打开”。然后,将文件拖动到主应用中,确保选择“如果需要则复制”。
通过单击并检查 Target Membership
编辑框中的所需 Pod,将您希望的任何扩展文件添加到其他 Pods 中。
注意:以这种方式添加扩展是必需的,因为(截至本文撰写时间)Swift 不支持从不同模块曝光扩展。
Tanner Nelson, [email protected]
MagicExtensions 在 MIT 许可协议下提供。有关更多信息,请参阅 LICENSE 文件。