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

时间:2015-07-01 20:47:37

标签: objective-c

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

1 个答案:

答案 0 :(得分:9)

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

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

所以你应该为你的所有接口做这个,但是根据你的编码标准,你可以实现类范围(或类别范围)方法而不声明它们,在这种情况下,声明是实现,你应该声明他们的可空性值。

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