У меня проблема с протоколами Objective-C.Протокол не отвечает на селектор
Я определил протокол:
@protocol PlayerProfileSectionProReviewDelegate <NSObject>
- (void)didReceivedPlayerProfileSectionProReviewData;
@end
@interface PlayerProfileSectionProReviewModel : PlayerProfileSectionModel
@property (weak) id <PlayerProfileSectionProReviewDelegate> playerProfileSectionProReviewDelegate;
@end
В этой реализации класса я называю Делегат:
if ([self.playerProfileSectionProReviewDelegate respondsToSelector:@selector(didReceivedPlayerProfileSectionProReviewData)])
{
[self.playerProfileSectionProReviewDelegate didReceivedPlayerProfileSectionProReviewData];
}
В видовом контроллера я добавил PlayerProfileSectionProReviewDelegate
и перекрываться didReceivedPlayerProfileSectionProReviewData
метод:
@interface PlayerProfileSectionProReviewViewController : PlayerProfileSectionViewController <UITableViewDelegate, UITableViewDataSource, PlayerProfileSectionProReviewDelegate>
@end
и
#pragma mark <PlayerProfileSectionProReviewDelegate>
- (void)didReceivedPlayerProfileSectionProReviewData
{
[self.playerProReviewTableView reloadData];
}
Почему мой протокол не отвечает на селектор?
Является '_playerProfileSectionProReviewDelegate'' nil'? Кроме того, вы, вероятно, хотите определить 'playerProfileSectionProReviewDelegate' как свойство' weak'. –
Да, '_playerProfileSectionProReviewDelegate' -' nil'! Как с этим бороться? –
Вы определили свойство 'playerProfileSectionProReviewDelegate', но это просто свойство. Это похоже на название переменной - коробку для обуви. Вы не дали ему _value_. Если вы не сделаете какой-нибудь объект _be_ этим делегатом, там никого нет - обувная коробка пуста (ноль). – matt