刚刚有一个菜鸟问题。我试图理解调用 self 和 super 之间的区别。现在我了解了继承和其他基本的 OOP 概念,但是我仍然不清楚 self 和 super 的概念。我将用一个例子来说明我的问题。
因此,当手机倒置时,下面的代码会执行 segue。我知道“Scene2ViewController”是“UIViewController”的子类,因此“Scene2ViewController”继承了 UIViewController 的所有方法。所以下面我调用了 performSegueWithIdentifier 方法,消息的接收者是 self。现在,当我将“self”更改为“super”时,代码仍然以相同的方式执行。调用 super 和调用 self 不一样吗?如果有人可以向我解释这一点,将不胜感激,谢谢。
//Scene2ViewController.m
- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation)interfaceOrientation
{
if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
[self performSegueWithIdentifier:@"SegueToScene1" sender:self];
}
return (interfaceOrientation ==
UIInterfaceOrientationPortrait);
}