Вызов метода родительского ViewController из подпредставления? - PullRequest
0 голосов
/ 30 октября 2011

Я застрял в этом на час ..

У меня есть ViewController, который реализует Method1

В этом ViewController я добавляю подпредставление:

barView = [[[NSBundle mainBundle] loadNibNamed:@"BarView" owner:self options:nil] objectAtIndex:0];
[barView initWithFrame:CGRectMake(0, 0, 1024, 40)];
[self.view addSubview:barView];

Это работает, в BarView.m у меня есть кнопка, которая при нажатии вызывает Method1 в родительском ViewController.

- (IBAction)buttonPressedMethod1 {
    [(id)self.superview Method1];        // This line is definitely wrong.
}

Я знаю, что что-то упустил. Кто-нибудь может помочь объяснить?

Спасибо.

1 Ответ

0 голосов
/ 30 октября 2011

Ваш первый фрагмент кода неверен, так как вы отправляете initWithFrame объекту, который уже был инициализирован загрузкой из пера.Конечно, вид в кончике уже имеет правильный кадр, поэтому эта строка не нужна?

Что касается самого вопроса, вы вызываете метод в представлении viewcontroller, а не в самом viewcontroller.Вы должны подключить кнопку в вашем представлении к действию в вашем контроллере представления (так как вы загружаете перо с владельцем, вы можете сделать это в IB).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...