相关疑难解决方法(0)

在Obj-C中发现给定类的子类

有没有办法在运行时发现给定类存在哪些子类?

编辑:从答案到目前为止,我认为我需要澄清一点我想做的事情.我知道这在Cocoa中并不常见,并且可能会有一些警告.

我正在使用动态创建模式编写解析器.(参见Buck and Yacktman撰写的Cocoa Design Patterns一书,第5章.)基本上,解析器实例处理堆栈,并实例化知道如何执行某些计算的对象.

如果我可以获得MYCommand该类的所有子类,我可以为用户提供可用命令的列表.此外,在第5章的示例中,解析器具有替换字典,因此可以使用+, - ,*和/等运算符.(它们映射到MYAddCommand等等)对我来说,似乎这些信息属于MyCommand子类,而不是解析器实例,因为它有点挫败了动态创建的想法.

reflection cocoa objective-c

9
推荐指数
2
解决办法
2728
查看次数

列出一个类的所有子类

我可以返回一个类的所有子类的列表吗?例如:

class Mother {

}

class ChildFoo: Mother {

}

class ChildBar: Mother {

}

let motherSubclasses = ... // TODO
print(motherSubclasses) // should to return [ChildFoo.self, ChildBar.self]
Run Code Online (Sandbox Code Playgroud)

reflection swift

7
推荐指数
2
解决办法
2369
查看次数

标签 统计

reflection ×2

cocoa ×1

objective-c ×1

swift ×1