我最近重读了Mike Ash关于如何在tutorial创建课程的有趣Objective-C Runtime
我很长一段时间以来一直想知道在哪里应用这种强大的语言功能。对于我脑海中出现的大部分想法,我总是看到一个过度的解决方案,最后我会继续NSDictionary
。在运行时使用创建类的情况是什么?我看到的唯一一个是Obj-C翻译......更多想法?
答案 0 :(得分:6)
当有人需要在运行时创建类
时,我会看到一些可能的选项一般而言......有一些可能的用法。但在现实世界中,在默认服务应用程序中,没有必要这样做,实际上:)
答案 1 :(得分:0)
它可以用于例如Core Data或任何与数据库相关的API,以创建在编译时未知的新对象类。但是,我怀疑这是经常使用的,它主要是系统在运行程序时使用的机制...
答案 2 :(得分:0)
Cocoa框架中的KVO是通过动态创建类的“通知”版本来实现的。见http://www.mikeash.com/pyblog/friday-qa-2009-01-23.html