从ViewController外部访问变量

时间:2013-08-06 16:55:49

标签: ios objective-c

我正在尝试使用ViewController上的方法从AppDelegate.m访问在ViewController.m中创建的数组。当我尝试在AppDelegate.m中发送消息时,XCode给出了错误,

  

“选择器没有已知的类方法......”

在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上调用这个方法,因为我在它的类文件中声明了它。如果由于某种原因这是不允许的,是否有其他方法可以达到同样的效果?

1 个答案:

答案 0 :(得分:2)

getButtonArray是一种实例方法。因此,您需要为它创建实例。

ViewController *controller = [[ViewController alloc] init];
NSMutableArray *buttonArray = [controller getButtonArray];