Удаление суперпредставления из вызова метода внутри этого класса - PullRequest
0 голосов
/ 29 июля 2011

Я пытаюсь переключиться между двумя представлениями прямо сейчас. Проблема в том, как это называется.

Вот самый простой способ объяснить мою ситуацию:

У меня есть родительский вид. С подклассом ChildView, который содержит таблицу. После выбора объекта в этой таблице я хочу переключиться на другое дочернее представление этого родительского представления.

Родитель --------- | Ребенок 1 | Ребенок 2

Child 1 - это подкласс Parent, позволяющий мне получить доступ к методу в Parent, который переключается между Child Views 1 и 2, но по какой-то причине он не будет работать при доступе к нему из Child 1.

Есть какие-нибудь подсказки, как это сделать? Вот основной код:

Ребенок 1 - (void) changeViews

[super methodToSwitchChildViews];

Родитель - (void) methodToSwitchViews

[self.child1.view removeFromSuperView];
[self.view insertSubView:child2.view atindex:0];

Ответы [ 2 ]

0 голосов
/ 24 августа 2011

Хорошо, я немного покопался и, наконец, нашел решение. На случай, если у кого-то возникнет такая же проблема, вот что вы делаете:

В файле .h дочернего представления выполните

@class parentViewName

Затем в .m файле добавить

#import "parentViewName.h"

...

- (void) functionToRemoveSelfFromView {
   parentViewName *PARENT = [[parentViewName alloc] init];

   // You must have a method in the parent view to toggle or remove the subview, the way
   // you want it done, then call it with the new delegate. Make sure it doesn't set this 
   // view to nil or releases it because this method has yet to return. If animating do not
   // hide this view either.

   [PARENT methodToRemoveSelfFromView];
   [PARENT release];
}
0 голосов
/ 29 июля 2011

Super - это класс, который предшествует (под) классу в наследовании.Здесь дети, кажется, взгляды на суперпредставление (родитель).Так что используйте superview, а не super.

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