NS_ASSUME_NONNULL_BEGIN宏

时间:2016-06-21 23:38:11

标签: ios objective-c xcode

我正在关注团队树屋的在线教程,其中一个步骤是为我的数据模型创建一个NSManagedObject子类。

当我这样做时,代码会在开头和结尾自动生成一个类和一组宏:

NS_ASSUME_NONNULL_BEGIN

NS_ASSUME_NONNULL_END

我在线搜索,但我找不到任何关于这些人在这里做什么的文件。顺便说一下,它们是在标题 NSObjCRuntime.h

中定义的

任何想法他们服务的目的是什么?

1 个答案:

答案 0 :(得分:50)

这是一个方便的宏,可以帮助您在标题中输入 nonnull 。来自 Swift 博客,详细介绍了如何将新安全功能纳入 Objective-C

  

为了便于采用新注释,您可以标记某些区域   你的Objective-C头文件被审核为可空性。内   这些区域,任何简单的指针类型都将被假定为非空。

参见Nullability和Objective-C - https://developer.apple.com/swift/blog/?id=25