#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, чтобы отобразить кнопку «Назад» или выскочить из стека навигации