Objective-C中的继承?

mar*_*hah 0 inheritance objective-c ios

好的,所以我的问题本身就说明了我的要求.
我有一个3视图控制器.它们中的所有三个都是从类继承(MainViewController).
现在我要问的是,在Objective C中是否有可能假设我有另一个类,它有一些我不想包含在MainViewController类中的变量和函数,并将它传递给其中一个ViewControllers.
因此,如果我编号我的视图控制器,并让另一个类是SecondClass.
第一,第二和第三个ViewControllers从MainViewController继承函数和变量.
如果我想要第二个ViewController也继承SecondClass,那么我是否可以在Objective-C中执行这种操作?

Tom*_*mmy 5

Objective-C是一种单继承语言.每个类只能从一个超类继承.

你可以解决这个问题,forwardingTargetForSelector:如果你绝对绝望,但更整洁,通常更聪明的事情是通过说第二个视图控制器SecondClass除了作为子类之外还拥有一个实例来组成功能MainViewController.

你可以看到Apple的一个例子UIWebView.它不是子类,UIScrollView但它使用滚动视图,并通过属性为外部actor暴露该实例(从iOS 5开始)scrollView.