作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当你有一个 UIViewController
和 UITableViewController
类时,你想让这两个类在它们的 - (void)viewDidLoad
中做一些共同的事情如何在不实际复制代码的情况下在 Objective-C 中实现这一点?
我尝试创建 MyUIViewController
继承 UIViewController
并在其中实现 viewDidLoad
。这显然与 UIViewController
类完美配合,但在 UITableViewController
中不起作用,因为我不能简单地将 @interface MyTableViewController : UITableViewController
替换为@interface MyTableViewController : MyUIViewController
.
我认为这个主题是关于 Objective-C 语言中的“多重继承”的,但是除了弄清楚 Objective-C 中的不同之处之外,我真的很想知道人们如何做这样的事情?
最佳答案
This thread有一些很好的信息。您的主要选择之一是创建一个具有该共享功能的类并将其作为实例变量保存,然后在 forwardInvocation
中将消息转发给它。
关于objective-c - 如何在 Objective-C 中不重复代码? (又名多重继承),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3474951/
我是一名优秀的程序员,十分优秀!