我应该在实现文件中使用nullable/nonnull吗?

rab*_*ace 14 objective-c

我想使用Objective-C可空性功能.但是我应该使用nullable/nonnull实现文件或仅使用接口进行注释吗?

Pie*_*don 9

声明可空性的唯一原因是从编译器单元获得警告反馈(请参阅https://developer.apple.com/swift/blog/?id=25).

作为最佳实践,您应始终在声明中设置nullable和nonnull(或_Nullable和_Nonnull).

因此,您应该为所有接口执行此操作,但是根据您的编码标准,您可以实现类范围(或类别范围)方法而不声明它们,在这种情况下,声明是实现,您应该声明它们的可为空性值.

您总是可以声明在接口中声明的实现的可空性,但在我看来,它会降低可维护性.