目的
NullSafe 是在 NSNull 上的一个简单类别,它对于未识别的消息返回 nil 而不是抛出异常。这消除了崩溃的一个常见原因,例如,JSON 数据包含空值而不是数组或字符串,而应用程序的网络代码没有预期它。
支持的 iOS & SDK 版本
- 支持构建目标 - iOS 12.0 / Mac OS 10.14 (Xcode 10.1)
- 最早支持部署目标 - iOS 9.0 / Mac OS 10.10
- 最早兼容部署目标 - iOS 4.3 / Mac OS 10.6
注意:'支持' 的意思是已经测试过这个版本。'兼容' 意味着该库应该在这种 iOS 版本上工作(即它不依赖于任何不可用的 SDK 功能),但不再测试兼容性,可能需要调整或修复错误才能正确运行。
ARC 兼容性
NullSafe 可以在不修改的情况下在 ARC 和非 ARC 目标上运行。
安装与使用
要使用NullSafe,只需将NullSafe.m文件拖放到您的项目中。NullSafe将在运行时自动加载,您不需要在代码中包含任何头文件。
选择性禁用NullSafe
NullSafe在将类文件添加到项目目标时会自动启用,但如果您希望为特定的方案(例如调试模式运行时)禁用NullSafe,则可以在构建设置中添加以下预编译器宏来禁用它:
NULLSAFE_ENABLED=0
或者,如果您更喜欢,您可以在prefix.pch文件中添加类似的内容:
#ifdef DEBUG
#define NULLSAFE_ENABLED 0
#endif
发行说明
版本2.0
- 极大地简化了NullSafe,使其只处理JSON和Plist值
版本1.2.3
- 针对Xcode 9进行了更新
- 修复了线程安全问题
- 在podspec中添加了对tvOS的支持
版本1.2.2
- 修复了nullability警告
版本1.2.1
- 修复了iOS 8中的崩溃
- 删除了NullSafe.h文件(冗余)
- 现在符合-Weverything警告级别
版本1.2
- 将现在处理任何已知方法,而不仅仅是子集
- 添加了NULLSAFE_ENABLED宏,以便轻松地在方案中开启/关闭
- 添加了实现缓存以获得更好的性能
版本1.1
- 使其按设计工作而不是偶然;-)
版本1.0
- 初次发布