为什么要使用嵌套 类?

Why would one use nested classes?

做了objective-c5年了,还请多多包涵。

我正在努力寻找能够清楚解释为什么要将 class 定义嵌套在另一个定义中的文档。

如果我有两个像下面这样的 class,那么它们声明在彼此之上和之下对我来说是有意义的。您甚至可能想要一个引用另一个的嵌套 属性。

class DataImporter {
     }

class DataGenerator {
     }

但我不明白为什么像下面这样的嵌套排列会有用。

class DataImporter {
     class DataGenerator {
     } }

你会为命名空间这样做。这样你就可以拥有同名的 classes(比如 DataGenerator)。但出于不同的目的。这个应该是 DataImporter.DataGenerator class,但你可以有另一个 OtherClass.DataGenerator class,这将是一个完全不同的。

就像在 Objective-C 中,当您在 class 的名称前有 2 或 3 个字母时(例如:UIView)。但是当你自己创建时,它就像 SSView

您还可以将内部 class 声明为私有并仅在该文件中使用它。