NS_ASSUME_NONNULL_BEGIN宏

40 xcode objective-c ios

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

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

NS_ASSUME_NONNULL_BEGIN

NS_ASSUME_NONNULL_END

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

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

DDP*_*DDP 58

这是一个方便的宏,可以节省您在标题中键入nonnull.从Swift博客中详细介绍了如何将新的安全功能纳入Objective-C:

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

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