NullSafe 2.0

NullSafe 2.0

测试已测试
Lang语言 Obj-CObjective C
许可证 NOASSERTION
发布上次发布2018年11月

Nick Lockwood 维护。



  • 作者:
  • Nick Lockwood

Build Status

目的

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

  • 初次发布