Это имеет некоторое отношение к способу, которым работает определение имен. В основном мы сначала находим объем, от которого происходит название, и затем мы собираем все перегрузки для того имени в том объеме. Однако объемом в Вашем случае является класс B, и в классе B, B:: DoSomething скрывается А:: DOSomething:
3.3.7 [basic.scope.hiding]
сокрытия Имени... [надрез]...
3 В определении функции членства, объявление локального имени скрывает объявление члена класса с тем же именем; см. basic.scope.class. Объявление участника в производном классе ( class.derived) скрывает объявление члена базового класса того же имени; см. class.member.lookup.
из-за сокрытия имени, A:: DoSomething даже не рассматривают для разрешения перегрузки
Вы должны включить кнопку возврата, когда (webView.canGoBack == YES)
. Вы можете сделать это в методе делегата, например webViewDidFinishLoad:
.
- (void)webViewDidFinishLoad {
// Other stuff if necessary...
// Could use hidden instead of enabled if you don't even want
// the button to be visible
backButtonItem.enabled = (webView.canGoBack);
}
Тогда ваше действие «Touch Up Inside» для backButtonItem должно выглядеть так:
- (IBAction)backButtonClicked:(id)sender {
[webView goBack];
}