DECategories 0.0.1

DECategories 0.0.1

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2014年12月

Dream Engine维护。



https://github.com/dreamengine/DECategories

功能概览

DECategories 是现代 iOS 开发者一系列有用的属性扩展。这些扩展通过提供众多便利性,使得创建过程更加简单快捷。

工作原理

以下是包含的属性扩展列表及其提供的功能。

NSData+DEImageMimeType

问题: 你有一个图像,但不确定它是否是 png 或 gif。

解决方案: 只需在图像的 NSData 表示上使用 -imageDataMimeType,即可获取 mime 类型字符串(例如 @"image/png")。

NSMutableArray+DEWeakReferences

问题: 你想存储一个对象数组,但不希望保留它(例如,优先级列表)。

解决方案: 使用 +mutableArrayUsingWeakReferences 并存储起来!

NSMutableDictionary+DENonNil

问题: 你正在填充字典,但其中一些对象是可选的,你厌倦了在添加之前对每个对象进行安全检查。

解决方案: 使用 -setObjectIfNonNil:forKey:,只有当对象非空时才会添加。

NSMutableSet+DEWeakReferences

问题: 你想存储一个对象集合,但不希望保留它(例如,无序列表)。

解决方案: 使用 +mutableSetUsingWeakReferences 并存储起来!

NSNotification+DEConveniences

问题: 您的应用程序仅使用默认的通知中心 [NSNotificationCenter defaultCenter],您非常厌倦了总是需要引用它。您还厌倦了每次需要发送数据时都要手动包装 NSNotification 对象。

解决方案: 只需使用 +postNotificationWithName:postNotificationWithName:object:postNotificationWithName:object:userInfo:,这将会自动为您包装一个 NSNotification 并将其发送到默认的通知中心。

NSString+DERelativePaths

问题:你有绝对文件路径,但你只想得到某个目录相对该文件的路径。(例如,你的应用使用用户提供的文件和文件夹,你想要存储某些路径,但应用更新可能会更改这些文件存储的位置,从而损坏你保存的绝对路径。)

解决方案:使用 -stringWithPathRelativeTo: 来获取相对路径。

UIButton+DEBackgroundColor

问题:你想让 UIButton 的背景颜色随着控制状态的改变而改变。

解决方案:使用 -setBackgroundColor:forState:

UIColor+DEConveniences

问题:你想从十六进制字符串创建一个 UIColor,或者你想创建一个简洁的 UIColor

解决方案:要创建十六进制字符串,使用 colorWithHexString:,或者可以使用便利函数 UIColorFromHexString(NSString)

所有便利函数

  • UIColorFromValues(float, float, float),
  • UIColorFromValuesWithAlpha(float, float, float, float),
  • UIColorFromIntValues(int, int, int) (0-255),
  • UIColorFromIntValuesWithAlpha(int, int, int, int) (0-255),以及
  • UIColorFromHexString(NSString).

UIGestureRecognizer+DECancel

问题:你想能够手动取消一个 UIGestureRecognizer

解决方案:使用 -cancel

UIImage+DEColorRect

问题:你想创建一个填充特定颜色的 UIImage

解决方案:使用 +imageWithColor:ofSize:

UIImage+DEResize

问题:你想调整一个 UIImage 的大小,可能是因为图片太大而想要节省内存。

解决方案:使用 +imageWithImage:scaledToSize:,或者 -resizedImageScaledToSize:

UIImage+DETintColor

问题:你想给一个 UIImage 添加一个颜色。

解决方案:使用 -imageTintedWithColor:fraction:

UINib+DEConveniences

问题:你想要从 nib 文件中轻松地填充一个对象,而无需麻烦。

解决方案:使用 +firstObjectWithNibName:,这个方法将自动创建一个 UINib 对象并将 nib 中的第一个项目返回给你。

UITableView+DEHideEmptyCells

问题:你有带有短单元格内容的表格视图,你并不太关心单元格下的空单元格和线条。

解决方案:使用 -applyHideEmptyCellsStyle

UIView+DEConveniences

问题:你想直接获取和设置 xywidthheight 值,而不通过 frame。或者,你想从 nib 文件中填充一个 UIView 而希望能更简单一点。

解决方案:提供了 xywidthheight 属性。要快速从 nib 文件中实例化,请使用 +viewFromNib(确保你的 nib 文件与类名匹配)。

UIView+DEFirstResponder

问题:你不知道第一个响应者是哪个,但你真的很想找到它。

解决方案:使用-findFirstResponder。 (如果您想放弃第一个响应者而不在乎是谁,只需在您的顶级UIView容器上使用内置的-endEditing:即可)。

UIViewController+DEConveniences

问题:您希望有一个工厂方法来轻松构造UIViewController实例。

解决方案:确实存在!您只需使用+controller,它将自动尝试加载您类字符串表示形式的nib文件。如果找不到nib文件,它将程序性地实例化您的控制器。