Я пытаюсь получить доступ к массиву, созданному в ViewController.m из AppDelegate.m, используя метод ViewController. При попытке отправить сообщение в AppDelegate.m, XCode дает мне ошибку,Внешне доступ к переменной из ViewController
"Нет известного метода класса для селектора ..."
В ViewController.h:
-(NSMutableArray *)getButtonArray;
В ViewController.m:
- (NSMutableArray *)getButtonArray;
{
NSMutableArray *buttonArray = [[NSMutableArray alloc] init];
for (ElementButton *button in [self.view subviews]) {
[buttonArray addObject:button];
}
return buttonArray;
}
В AppDelegate.m:
NSMutableArray *buttonArray = [ViewController getButtonArray];
Я не понимаю, почему я не могу назвать этот метод на ViewController, поскольку я объявил его в своих файлах классов. Если по какой-то причине это недопустимо, есть ли другой способ добиться такого же эффекта?
Просто комментарий об условных обозначениях. Рекомендации iOS/Objective C для имен методов должны называть ваши получатели следующим образом: '- (NSMutableArray *) buttonArray;' Setters должны иметь имя: '- (void) setButtonArray: (NSMutableArray *) buttonArray;' – stevekohls