我正在关注团队树屋的在线教程,其中一个步骤是为我的数据模型创建一个NSManagedObject子类。
当我这样做时,代码会在开头和结尾自动生成一个类和一组宏:
NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
我在线搜索,但我找不到任何关于这些人在这里做什么的文件。顺便说一下,它们是在标题 NSObjCRuntime.h
中定义的任何想法他们服务的目的是什么?
答案 0 :(得分:50)
这是一个方便的宏,可以帮助您在标题中输入 nonnull 。来自 Swift 博客,详细介绍了如何将新安全功能纳入 Objective-C :
为了便于采用新注释,您可以标记某些区域 你的Objective-C头文件被审核为可空性。内 这些区域,任何简单的指针类型都将被假定为非空。
参见Nullability和Objective-C - https://developer.apple.com/swift/blog/?id=25