Кошмар с пользовательским делегированием UIView

#iphone #uiview #delegates

#iPhone #пользовательский интерфейс #делегаты

Вопрос:

У меня адская работа, пытающаяся настроить делегирование в пользовательском представлении.

Это код инициализации:

 - (id)initWithPageNumber:(int)page {

    self = [super init];

    if (self) {

        UpgradeContentView *v = [[UpgradeContentView alloc] initWithPageNumber:page];

        [self setView:v];

        [v release];
    }

    return self;
}
  

затем в viewDidLoad у меня есть это:

 - (void)viewDidLoad {

    [super viewDidLoad];

    [(UpgradeContentView *)self.view setDelegate:self];
}
  

который не выдает ошибку, и программа запускается, но ни один из моих методов делегирования не вызывается, я разместил вызовы NSLog и точки останова, но делегат, похоже, не работает.

Я делаю это совершенно неправильно?

Спасибо

Комментарии:

1. проверьте свои торговые точки в IB и проверьте self.view, чтобы увидеть, равно ли оно нулю.

2. Отображается ли UpgradeContentView? О каких методах делегирования вы говорите?

3. Там нет IBOUTLETS, это все в коде. Да, UpgradeContentView отображается правильно. Само представление является делегатом имеющегося у меня объекта покупки в приложении, который позволяет представлению узнавать о состоянии выполнения транзакции. Когда IAP отправляет вызов своему методу делегирования, который находится в представлении, представление, в свою очередь, должно сообщить своему родительскому viewcontroller, чтобы отобразить кнопку «Назад» или выскочить из стека навигации