У меня есть два классаидентификатор делегат непризнанным селектор направил к экземпляру
класса А файл
@property (nonatomic, weak) id delegate;
-(void)displayAllGroups:(NSArray *)groups;
Класс Am Файл
@synthesize delegate;
view didLoad {
_array_groups = [Group getAllGroups:json];
if ([_array_groups isKindOfClass:[NSArray class]])
{
NSLog(@"type of NSArray");//
[delegate displayAllGroups:_array_groups];// error
}
else
{
NSLog(@"not a type of NSArray");
}
}
Это реализация класса А, где я ID делегата отправка group_array
до b класс. B класс раздувом
- (void)viewDidLoad {
[super viewDidLoad];
GroupsViewController *groupView=[[GroupsViewController alloc]init];
[groupView setDelegate:self];
}
-(void)displayAllGroups:(NSArray *)groups
{
NSLog(@"all groups arrays are:%@",groups);
}
Примечание: Ошибка [delegate displayAllGroups:_array_groups];
-[HomeViewController displayAllGroups:]: unrecognized selector sent to instance 0x7fbfcb644b20'
Делегирование делегатов ?? –
мы можем использовать делегат id без определения, есть ошибка нераспознанного селектора – khaskheli
Сообщение ясно. Объект, который установлен как ваш делегат, является экземпляром 'HomeViewController' и не реализует метод' displayAllGroups: '. Также ваш код, как показано, не имеет большого смысла - вы выделяете «GroupViewController» - но это находится в локальной переменной, поэтому он будет выпущен, как только «viewDidLoad» выйдет. – Paulw11